Upgrade to Pro — share decks privately, control downloads, hide ads and more …

元Javaエンジニアが怖いと思うPHPの仕様

sorch
November 19, 2019

 元Javaエンジニアが怖いと思うPHPの仕様

Java経験者がPHPを学習して「この仕様、まじか(ヒヤリハットッ)」と感じた言語仕様をクイズ形式で紹介

sorch

November 19, 2019
Tweet

More Decks by sorch

Other Decks in Programming

Transcript

  1. 元 J A V A エ ン ジ ニ ア が 怖 い と 思 う
    P H P の 仕 様
    ~ ~ L E T ’ S Q U I Z ! ! ~ ~

    View Slide

  2. この発表について
    • Java経験者がPHPを学習して「この仕様、まじか(ヒヤリハットッ)」と
    感じた言語仕様をクイズ形式で紹介
    • 主な対象者
    – 非スクリプト言語経験者でPHP学び始めの人

    View Slide

  3. そーく soachr
    新卒入社 4年目 開発エンジニア
    • 今までの経歴

    • 開発・運用保守(3.5年間) / Java, PostgreSQL, js, jQueryなど

    • 開発(半年) / PHP, PostgresSQL, js, jQueryなど
    自己紹介

    View Slide

  4. LET’S QUIZ!!

    View Slide

  5. PHP QUIZ!! (1/3)
    Question
    以下のコードの結果は?
    $hoge = 0;
    if ($hoge = 12) {
    print $hoge;
    }

    View Slide

  6. PHP QUIZ!! (1/3)
    Question
    以下のコードの結果は?
    $hoge = 0;
    If ($hoge = 12) {
    print $hoge;
    }
    Answer
    12
    PHPの仕様
    条件式の評価結果が
    - 0であればFALSE
    - 0以外であればTRUE

    View Slide

  7. PHP QUIZ!! (2/3)
    Question
    以下のコードの結果は?
    $str = ‘’;
    If ($str) {
    print ‘hello!!PHP’;
    }

    View Slide

  8. PHP QUIZ!! (2/3)
    Question
    以下のコードの結果は?
    $str = ‘’;
    If ($str) {
    print ‘hello!!PHP’;
    }
    Answer
    なにも出力されない。
    エラーにもならない。
    PHPの仕様
    条件式の評価結果が
    - 空orNULLであればFALSE
    - 空orNULL以外であればTRUE

    View Slide

  9. PHP QUIZ!! (3/3)
    Question
    以下のコードの結果は?
    function argumentOne($msg) {
    print " argumentOne : {$msg}";
    }
    argumentOne(‘msg’, ‘hoge’);

    View Slide

  10. 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()を駆使するとかになる
    …(探したらライブラリがありそうだが)

    View Slide

  11. まとめ
    •PHPはJavaよりゆるふわ!!!
    – 条件式を書くときはPHP本家サイトを必ず確認す
    ること
    –Javaとは勝手が違うという認識を持つこと

    View Slide

  12. ご 清 聴 あ り が と う ご ざ い ま し た

    View Slide