~Develope~


echo文

        
            文字列を出力
            echo 'Hello World';

            改行する
            echo 'Hello World' .PHP_EOL;
        
      

コメントを挿入

        
            //行末までコメントアウト
            # 行末までコメントアウト
            /*
            複数行コメントアウト
            */

            *VScode : command+/ で自動コメントアウト
        
      

$変数

        
            代入
            $name = 'Yuki';
            $age = 27;

            文字列の扱い
            $sentence = "It's"; 

            文字列に変数を埋め込む
            $sentence = 'I am $name.';

            グローバル変数
            grobal $oo;
        
      

ヒアドキュメント

        
           長めのテキストを表現し変数を展開しない(ナウドキュメント)
           $text = <<<'EOT'
                he default interactive shell is now zsh.
                To update your account to use zsh, please run `chsh -s /bin/zsh`.
                For more details, please visit https://support.apple.com/kb/HT208050.
           EOT;

           長めのテキストを表現し変数を展開する(ヒアドキュメント)
           $text = <<<"EOT"
                $name default interactive shell is now zsh.
                To update your account to use zsh, please run `chsh -s /bin/zsh`.
                For more details, please visit https://support.apple.com/kb/HT208050.
           EOT;
        
      

数値計算

        
           四則演算 + - * /
           余り %
           冪乗 **  //2**3=8
           2+'3'=5 PHPは文字列を数値として捉える

           $price = 500;
           $price += 100; = 600

           $price ++; = 501
           $price --; = 499
        
      

定数

        
            2パターンの記法
           define('NAME','yuki'); *$はつけない 大文字で
           const NAME = 'yuki'; *$はつけない 大文字で
        
      

データ型

        
           文字列(string)  'hello' "hello"
           整数(int) 5 -20
           不動小数点(float)  3.2
           null           null
           真偽値(bool)    true false
           配列(array)     [5, 3, 8]
           オブジェクト(object)   new Object()
        
      

変数の型を調べる

        
           var_dump($name); -> string(5) "yuki"   
           var_dump($age); -> int(27)

           型変換 cast
           $a = (float)10;
           $b = (string)0.13;
        
      

条件分岐

        
           if (判別式){
               命令文1;
           }elseif(判別式2){
               命令文2;
           }else{
               命令文3;
           }
        
      

論理演算子

        
           比較演算子
           === ~と等しい
           !== ~と等しくない

           論理演算子
           $$  = and
           ||  = or
           !   = not

           論理演算はtrue, falseで処理される
           $X 単一変数も真偽値として評価される

           if($X){

           }
           のように書かれる事もある

           false{
               false
               0
               0.0
               '0'
               ''
               null
               []
           }
           それ以外=true

        
      

switch条件分岐

        
           switch($aaa){
               case oo:
                    命令文1;
                    break;
               case oo:
                    命令文2;
                    break;
               case oo:
                    命令文3;
                    break;
           }

           switch($aaa){
                case oo:
                    命令文1;
                    break;
                case oo:
                    命令文2;
                    break;
                case oo:      //複数条件(または)
                case xx:
                    命令文3;
                    break;
                default:
                    デフォルト命令;
                    break;
        }
        
      

for

        
           for($i = 1; $i <= 5; $i++){
               echo 'hello';
           }
        
      

while/do while

        
           while($oo > 0){
               echo $oo;
               $oo -= 15;
           }

           do{
                最低1度実行させたい命令
           }while($oo > 0);   条件を満たす限り実行
        
      

continue break

        
            continue...ループを一回スキップ
            break...ループを強制終了

            for ($i = 1; $i <= 10; $i++) {
                if ($i === 4) {
                  break;
                }
                echo $i . PHP_EOL;
        
      

関数

        
           function 関数名(){
               処理内容
           }

           呼び出し
           関数名();

           引数
            function 関数名($引数){
                処理内容
            }

            引数の型指定
            function 関数名(string $引数, int $引数){
                処理内容
            }
            *型が自動変換される
            *されたくない時は declare(strict_types=1);
            を先に宣言

            function 関数名($引数 = デフォルト値){   引数なしの時代入される値
                処理内容
            }

            return
            function sum($a, $b, $c){
                return $a + $b + $c;
            }

            返り値なし
            function 関数名(): void{

            }
        
      

無名関数(クロージャー)

        
           関数自体を変数に代入する
           $sum = function sum($a, $b, $c){
            return $a + $b + $c;
            };

            実行
            $sum(1,2,3);

            関数自体を別の関数の引数にできたりする
        
      

条件演算子

        
            returnの内容を条件分けする

            $sum = function sum($a, $b, $c){
                
                $total = $a + $b + $c;
                return $total < 0 ? 0 : $total;
            }
        
      

null

        
           nullか別の型かを宣言
           ?string ...nullかstring
        
      

配列

        
           $socores = [90, 40, 100];
           *インデックスは0から
           $scores[1] -> 40

           値取得
           vardump();
           print_r();

           キー設定
           $scores = [
            'first'  => 90, 
            'second' => 40, 
            'third'  => 100,
            ];
           
            $scores[third] -> 100


        
      

foreach

        
            foreach ($scores as $value) {
                echo $value . PHP_EOL;
              }
            90
            40
            100

            foreach ($scores as $key => $score) {
                echo $key . ' - ' . $score . PHP_EOL;
              }

            
        
      

配列の要素展開

        
           ...$scores
           -> 90, 40, 100
        
      

可変長引数

        
            何個引数に入っても対応できる(配列化して引数にいれる)
            function sum(...$numbers)
            {
              $total = 0;
              foreach ($numbers as $number) {
                $total += $number;
              }
              return $total;
            }
        
      

複数の返り値

        
           返り値を配列にして複数の情報を返す
           function getStats(...$numbers){
                $total = 0;
                foreach ($numbers as $number) {
                    $total += $number;
                }
                return [$total, $total / count($numbers)];
                }

                配列形式で受け取る
                list($sum, $average) = getStats(1, 3, 5); もしくは
                [$sum, $average] = getStats(1, 3, 5)