はじめに
最近、phpの勉強をしています。progateでphpの学習を一通り終えましたが、あまり理解できていなかったので、記事にして、覚えにくかった場所を自分なりにまとめてみようと思います。
基本のきの部分ですので、phpこれから勉強しようかなと思われている方の役に立てばと思います。
配列
sample.php
ノーマルの配列
<?php//$scoresという配列を定義$scores=array('70','90','80');//$colorsの一番目の要素を出力echo$scores[0];//結果、70を出力//$scoresに要素を追加$scores[]='100';//$scoresに追加した要素を出力 echo$scores[3];//結果、100を出力?>連想配列(要素にインデックス以外にキーを持たせる)
<?php//$scoresという連想配列を定義$scores=array('数学'=>'70','英語'=>'90','国語'=>'80');//インデックスではなくキーで要素を出力 echo$scores['英語'];//結果、90を出力//国語(80)に5を足し合わせる$scores['国語']+=5;echo$scores['国語'];//結果、85を出力?>
繰り返し(ループ)処理
for文
sample.php
<?phpfor(初期値を定義;ループの条件;変数の更新){繰り返す処理;}?>例文
<?php//1~100までの数字を出力させる。for($i=1;$i<=100;$i++){echo$i.'<br>';//'<br>'は、改行を意味する}?>
while文
sample.php
<?php初期値を定義;while(ループの条件){繰り返す処理;変数の更新;}?>例文
<?php//2~100までの数字で2の倍数のみを出力させる。$i=2;while($i<=100){echo$i.'<br>';$i+=2;}?>
break文(ループを強制的に中断する)
sample.php
<?php//1~5までの数字を出力させる。for($i=1;$i<=10;$i++){if($i>5){break;//$iの値が6になった時点でループを強制的に中断する命令}echo$i;}?>
continue文(ある条件だけスキップし、ループそのものは継続)
sample.php
<?php//3の倍数以外の数字(100まで)を出力させる。for($i=1;$i<=100;$i++){if($i%3==0){continue;//$iの値が3の倍数になった時だけスキップ ループそのものは、継続}echo$i;}?>
foreach文
sample.php
<?php配列の定義;foreach(配列もしくは連想配列as値変数){繰り返す処理;}?>例文
<?php//配列$dataを定義$data=array('東京','大阪','名古屋');//先頭のデータから順に繰り返し出力させる。foreach($dataas$value){echo$value;//結果、東京、大阪、名古屋を出力}?>
関数
代表的な関数
sample.php
strlen-要素の文字数を数える
<?php//変数$strを定義$str='hello';//変数$strの文字数を出力echostrlen($str);//結果、5を出力?>
count-配列の要素の数を数える
<?php//配列$arrayを定義$array=array('HTML','CSS','PHP');//変数$arrayの要素数を出力echocount($array);//結果、3を出力?>
rand-ランダムな整数を出力
<?php//10~15のランダムな整数を出力echorand(10,15);//結果、12を出力?>
自作の関数
sample.php
シンプルな関数
<?phpfunction$関数名(){処理;}?>例文
<?php//関数hello()を定義functionhello(){echo' Hello, world';}//関数hello()を呼び出すhello();//結果、Hello, worldを出力?>戻り値と引数を用いて
<?phpfunction関数名(引数){return処理;}?>例文
<?php//関数getCircleArea()を定義functiongetCircleArea($radius){return$radius*$radius*3;//今回は、5 * 5 * 3になってます。}//関数getCircleArea()を呼び出し、$circleAreaに代入$circleArea=getCircleArea(5);//$circleAreaを出力echo$circleArea;//結果、75を出力?>
最後に
今回は、構文ばっかり並べてみました。まとめながら書くことは、頭の整理に繋がり、いい感じです。
理解が遅いので早く理解できるようになりたいです。
また、早くLaravel習得してポートフォリオを作成できたらと思います。
この記事を見ておかしいんじゃないのとかありましたらどんどん指摘してください、よろしくお願いします。