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
57
20210516 LT資料(PHP echo print)
研修中の学び
kuma
May 16, 2021
Tweet
Share
More Decks by kuma
See All by kuma
エンジニアの輪スライド
kumainataku
0
260
20220730[PHP]デザインパターン色々学んでみた
kumainataku
0
140
20220227 可読性って大事
kumainataku
0
82
20220319[Laravel]想定外のN+1アラート
kumainataku
0
190
20211027_僕の転職活動の振り返り.pdf
kumainataku
0
120
オブジェクト指向(超基礎)
kumainataku
0
160
20210425 LT会(基本情報技術者)
kumainataku
0
47
202104 読書LT会
kumainataku
0
210
Other Decks in Programming
See All in Programming
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
250
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
280
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
1.8k
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
410
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
150
AI 開発合宿を通して得た学び
niftycorp
PRO
0
150
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
610
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.1k
[SF Ruby Feb'26] The Silicon Heel
palkan
0
110
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
400
Featured
See All Featured
We Are The Robots
honzajavorek
0
200
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
490
Git: the NoSQL Database
bkeepers
PRO
432
66k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
The agentic SEO stack - context over prompts
schlessera
0
700
A Soul's Torment
seathinner
5
2.5k
Building an army of robots
kneath
306
46k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
190
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。
ご清聴頂きありがとうございました。 内容について、不備等あれば ご指導・ご鞭撻のほどよろしくお願いします。