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
元Javaエンジニアが怖いと思うPHPの仕様
Search
sorch
November 19, 2019
Programming
0
270
元Javaエンジニアが怖いと思うPHPの仕様
Java経験者がPHPを学習して「この仕様、まじか(ヒヤリハットッ)」と感じた言語仕様をクイズ形式で紹介
sorch
November 19, 2019
Tweet
Share
More Decks by sorch
See All by sorch
他言語と比較して今こそ理解しよう! 目指せ、列挙型マスター!
soachr
0
260
アカウント発行システムをDDDでリファクタリングしたら 幸せになりそうな予感がした
soachr
1
300
おさらい!PHP8で廃止される機能
soachr
1
650
Other Decks in Programming
See All in Programming
GoLab2025 Recap
kuro_kurorrr
0
2.2k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.6k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2.1k
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
640
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
600
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
180
JETLS.jl ─ A New Language Server for Julia
abap34
2
470
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
140
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
160
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
190
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
710
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
140
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Paper Plane (Part 1)
katiecoart
PRO
0
2.9k
Done Done
chrislema
186
16k
Everyday Curiosity
cassininazir
0
120
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
140
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
0
34
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
Transcript
元 J A V A エ ン ジ ニ ア
が 怖 い と 思 う P H P の 仕 様 ~ ~ L E T ’ S Q U I Z ! ! ~ ~
この発表について • Java経験者がPHPを学習して「この仕様、まじか(ヒヤリハットッ)」と 感じた言語仕様をクイズ形式で紹介 • 主な対象者 – 非スクリプト言語経験者でPHP学び始めの人
そーく soachr 新卒入社 4年目 開発エンジニア • 今までの経歴 – • 開発・運用保守(3.5年間)
/ Java, PostgreSQL, js, jQueryなど – • 開発(半年) / PHP, PostgresSQL, js, jQueryなど 自己紹介
LET’S QUIZ!!
PHP QUIZ!! (1/3) Question 以下のコードの結果は? $hoge = 0; if ($hoge
= 12) { print $hoge; }
PHP QUIZ!! (1/3) Question 以下のコードの結果は? $hoge = 0; If ($hoge
= 12) { print $hoge; } Answer 12 PHPの仕様 条件式の評価結果が - 0であればFALSE - 0以外であればTRUE
PHP QUIZ!! (2/3) Question 以下のコードの結果は? $str = ‘’; If ($str)
{ print ‘hello!!PHP’; }
PHP QUIZ!! (2/3) Question 以下のコードの結果は? $str = ‘’; If ($str)
{ print ‘hello!!PHP’; } Answer なにも出力されない。 エラーにもならない。 PHPの仕様 条件式の評価結果が - 空orNULLであればFALSE - 空orNULL以外であればTRUE
PHP QUIZ!! (3/3) Question 以下のコードの結果は? function argumentOne($msg) { print "
argumentOne : {$msg}"; } argumentOne(‘msg’, ‘hoge’);
PHP QUIZ!! (3/3) Question 以下のコードの結果は? function argumentOne($msg) { print "
argumentOne : {$msg}"; } argumentOne(‘msg’, ‘hoge’); Answer エラーなし。 ・(余談)第2引数に指定した’hoge’という文字列は以下の関 数で取得できる $msg2 = func_get_arg(1); //$msg2 = ’hoge’ ・PHPはオーバーロード機能がないため、 実現するには↑のfunc_get_arg()を駆使するとかになる …(探したらライブラリがありそうだが)
まとめ •PHPはJavaよりゆるふわ!!! – 条件式を書くときはPHP本家サイトを必ず確認す ること –Javaとは勝手が違うという認識を持つこと
ご 清 聴 あ り が と う ご ざ
い ま し た