Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
元Javaエンジニアが怖いと思うPHPの仕様
Search
sorch
November 19, 2019
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
元Javaエンジニアが怖いと思うPHPの仕様
Java経験者がPHPを学習して「この仕様、まじか(ヒヤリハットッ)」と感じた言語仕様をクイズ形式で紹介
sorch
November 19, 2019
More Decks by sorch
See All by sorch
他言語と比較して今こそ理解しよう! 目指せ、列挙型マスター!
soachr
0
290
アカウント発行システムをDDDでリファクタリングしたら 幸せになりそうな予感がした
soachr
1
310
おさらい!PHP8で廃止される機能
soachr
1
690
Other Decks in Programming
See All in Programming
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.8k
Jetpack Compose Mechanisms
skydoves
3
870
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.7k
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
960
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
120
AI-Powered Domain-Driven Design
ziobrando
0
320
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
380
Modernizing iOS Apps
seyfoyun
0
120
Kotlinの15年とServer-Side Kotlin
n_takehata
1
170
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.3k
Performance Optimization With LLMs
xleitix
0
210
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Designing for Performance
lara
612
70k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
850
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
A better future with KSS
kneath
240
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
4 Signs Your Business is Dying
shpigford
187
23k
KATA
mclloyd
PRO
35
16k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
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とは勝手が違うという認識を持つこと
ご 清 聴 あ り が と う ご ざ
い ま し た