最近、あまりPHP書いてないので、なまらないように見直す。
ついでに後で見返すようにまとめ!
文字列結合
.
$fruits = 'orange';
echo $fruits.'ジュース'
変数展開
"{$変数}"
出力するときはダブルクオーテーションで囲む。
シングルクオーテーションだと{$変数}がそのまま文字列として出力される
$food = burger;
echo "{$food}ください";
かつ、または
かつ&&
または||
switch文
あんまり使わない?らしい
switch (条件式){
case 0:
echo '大吉です。';
break;
case 1:
echo '中吉です。';
break;
default:
echo '凶です。';
break;
}
breakがないと次のbreakが現れるまで、後のcaseも処理されてしまうので、忘れないように
defaultは当てはまるcaseがないときに処理される。
caseの部分にbreakを一つも設定していないと、下のcaseまで処理される。breakを忘れてはいけない。
よくわからないところ
defaultは該当するcaseがない場合に処理されるもの。と書いてあったけど・・・?
下のコードはあえてbreakを書き忘れたもの。
$num = 0
switch ($num){
case 0:
echo '大吉';
case 1:
echo '中吉';
default:
echo '凶';
break;
}
//実行結果:大吉中吉凶
本来なら、case0で大吉が出力される。けど、breakがないので次のcaseも処理される。
- 大吉中吉 と出力されてしまう ←わかる
- 大吉中吉凶 と出力されてしまう ←わからない
defaultは該当するcaseがない場合に処理される。(しつこい)
ので、今回case0で該当したから、defaultは処理されない!と思っていた。switch文わからない
そもそも条件式のところにいきなり数字を入れても、急に変数を定義してもどうにかなってしまうのよくわからない。。。
配列
$変数(配列)名 = array(配列中身1,配列中身2)
$names = array('やまだ','たなか','さとう');
echo '僕は'.$names[2];
$names[] = 'きむら'; // 配列の末尾に追加
foreach文(配列ver)
foreach(連想配列 as 配列を一つずつ入れる用変数){処理}
foreach ($names as $name){
echo $name;
}
//やまだたなかさとうきむら
連想配列
$配列名 = array('キー名' => '値1,・・・)
$student1 = array(
'num'=> 1,
'name'=> 'Ann',
'age'=> 14);
$student1['club'] ='tennis'; //追加
echo '名前:'.$student1['name'];
//名前:Ann
echo "{$student1['age']}歳";
//14歳
foreach文(連想配列ver)
foreach(連想配列 as キー名が入る変数 => 値が入る変数){処理}
foreach($student1 as $key => $value){
echo $key.':'.$value.'<br>';
}
//1周目 num:1 2周目 name:Ann 3周目 age:14 club:tennis
fot文
for($i=初期値;ループ条件;$iの更新){繰り返す処理}
while文
$i=初期値;while($iループ条件){繰り返す処理;$iの更新}
ループ条件はいつかfalseになるようにしないと、無限ループになってしまうので注意。
continue
breakでは完全にループを抜けてしまう。
一定以上では処理を止めたいときはbreak、
一定の条件だけ処理をしたくないとかってときはcontinueを使う。