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
81
20220319[Laravel]想定外のN+1アラート
kumainataku
0
190
20211027_僕の転職活動の振り返り.pdf
kumainataku
0
120
オブジェクト指向(超基礎)
kumainataku
0
160
20210425 LT会(基本情報技術者)
kumainataku
0
47
202104 読書LT会
kumainataku
0
200
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
490
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
290
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
120
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
110
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
950
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
180
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
740
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
590
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
140
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
140
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
150
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
So, you think you're a good person
axbom
PRO
2
2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
220
Into the Great Unknown - MozCon
thekraken
40
2.3k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
290
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
290
Test your architecture with Archunit
thirion
1
2.2k
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。
ご清聴頂きありがとうございました。 内容について、不備等あれば ご指導・ご鞭撻のほどよろしくお願いします。