Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20210516 LT資料(PHP echo print)
Search
kuma
May 16, 2021
Programming
0
54
20210516 LT資料(PHP echo print)
研修中の学び
kuma
May 16, 2021
Tweet
Share
More Decks by kuma
See All by kuma
エンジニアの輪スライド
kumainataku
0
240
20220730[PHP]デザインパターン色々学んでみた
kumainataku
0
140
20220227 可読性って大事
kumainataku
0
80
20220319[Laravel]想定外のN+1アラート
kumainataku
0
170
20211027_僕の転職活動の振り返り.pdf
kumainataku
0
110
オブジェクト指向(超基礎)
kumainataku
0
160
20210425 LT会(基本情報技術者)
kumainataku
0
43
202104 読書LT会
kumainataku
0
190
Other Decks in Programming
See All in Programming
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
170
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
240
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
170
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
CSC305 Lecture 06
javiergs
PRO
0
250
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
140
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
200
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
440
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
700
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
How to Ace a Technical Interview
jacobian
280
24k
Done Done
chrislema
185
16k
Being A Developer After 40
akosma
91
590k
Balancing Empowerment & Direction
lara
5
690
A Modern Web Designer's Workflow
chriscoyier
697
190k
Into the Great Unknown - MozCon
thekraken
40
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Statistics for Hackers
jakevdp
799
220k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Site-Speed That Sticks
csswizardry
13
910
Transcript
【何が違うの?】PHPの"echo"と"print" クマ(稲熊 琢椰) 2021年 5月16日
自己紹介 1 ・名前 クマ(稲熊 琢椰) ・経歴 20/7 学習開始 20/10 転クエ加入
21/3 都内WEB開発企業に内定頂く 21/5 就職 ・ハマりごと 家トレ、テニスサークル応募(返信率:1/5) ・最近のトピック 同期(大学院中退/25歳)が僕に既にタメ口 →自身のコミュニケーションハードルの低さ
発表概要 1. 自己紹介 2. テーマを選んだ背景 3. “echo”とは?“print”とは? 4. “echo”と“print”の違い 5.
所見 1
テーマを選んだ背景
いたってシンプル。 違いがあることをホントに知らなかった。。。 (研修中で初めて知った) 1 “echo”と”print”も「出力する」って 意味で同じやろ← 1週間前のクマ
“echo”とは?“print”とは?
“echo”も“print”も 「ブラウザに表示(出力)する」こと! 1 Ruby・・・print / put / p …etc ex)
print 'こんにちは' Java・・・printf(“型”、”値”) ex) System.out.printf(“%s”, “こんにちは”) PHP・・・echo / print / printf() ex) echo “こんにちは”; →ex)の出力結果は全て ”こんにちは” 他の言語だと…
“echo”と“print”の違い
先に結論。 1 2. echoは「文」(=返り値を持たない)で printは「式」(=返り値を持つ)だから 文字列の数?、文?、式?…(;´・ω・) 1週間前のクマ 1. 出力できる文字列の数が決まっているから
公式マニュアルによると…(以下抜粋) 1 ・ 1 つ以上の文字列を出力する ・print との主な違いは、 echo がリスト形式の引数を受け付け 返り値を持たないことです。(⇒「文」である)
・ 文字列を出力する ・echo との主な違いは、 print が単一の引数のみ受け付け 常に 1 を返すことです。 (⇒「式」である) echo print
注目すべきは、赤字の箇所 1 ・①1 つ以上の文字列を出力する ・print との主な違いは、 echo がリスト形式の引数を受け付け ②返り値を持たないことです。 (⇒「文」である)
・①(1つの)文字列を出力する ・echo との主な違いは、 print が単一の引数のみ受け付け ②常に 1 を返す(=返り値を持つ)ことです。 (⇒「式」である) echo print
①文字列の数 1 ・上の文も下の文もどちらも文字列は(1), (2)で合計2つ ・上の文:echoは1つ以上の文字列を出力する ・下の文:printは1つの文字列しか出力しない 【実例】 \これはわかる!/ \なるほど!/ ⇒2つ目の文字列を処理できず、エラー😨😨😨
⇒正常に処理される🎉🎉🎉
②返り値の有無-「文」と「式」 1 こっちがちょいと厄介。 (え、僕だけですか。。。?) 「文」って何?「式」って何? 1週間前のクマ なぜならば…
②返り値の有無-「文」と「式」 1 ・文は任意の式を組み合わせられる(下記Qiita) ・文の例:関数/メソッドやクラス定義文/use…etc(下記Qiita) 文 式 ・最も簡単で最も正確な式の定義は、 “値があるもの全て” (公式マニュアル) ・式の例:if文/代入の右辺/算術演算式...etc(下記Qiita)
※https://qiita.com/tadsan/items/bd761ec3d33cc2c65cdf 調べてみると。。。
②返り値の有無-「文」と「式」 1 さらに、こんな記事も。 echo:返り値を持たず、他の式や文の一部として使用不可。 ※ 個人ブログ(https://gotohayato.com/content/47/) (お詫び)1次情報でないことについては申し訳ございません。 文 式 print:返り値を持ち、他の式や文の一部として可能。
②返り値の有無-「文」と「式」 1 要は… print:返り値を持つ echo:返り値を持たない ってことかと推測。 ⇒値を持つ ⇒式である(『目的語』的な意味) ⇒文である(『動詞』的な意味) ⇒値を持たない
②返り値の有無(文か、式か) 1 ・上の文:「print ”こんにちは”」という「式」(目的語)を 「文」として出力する ・下の文:「文」(動詞)を「目的語」で出力する??? 【実例】 \ちょっとわかった!/ \なるほど!/ ⇒エラー😨😨😨
⇒正常に処理🎉🎉🎉
ちなみに。。。 1 【実例】 処理の結果はどうなるか考えてみてください。 (1). echo echo 1; => ???
(2). print print 1; => ??? 5 4 3 2 1
ちなみに。。。 1 【実例】答え (1) 「動詞」+「動詞」では文として正しくない (1). echo echo 1; =>
syntax error, unexpected token "echo" (2). print print 1; => 11 (2) 「動詞or目的語」+「動詞or目的語」は文として正しい 2個目のprintで1を表示、1個目のprintで2個目で返ってきた1を表示 あながち文=「動詞」、式=「目的語」というのも間違ってなさそう??
所見
以下3点 1 3.「文」について公式マニュアルになかったので少々不完全燃焼 2.echo(文)は”動詞”として、print(式)は”動詞or目的語”として使用可 ※あくまでイメージです。 1.とりあえず、出力したいだけならechoでOK。
ご清聴頂きありがとうございました。 内容について、不備等あれば ご指導・ご鞭撻のほどよろしくお願いします。