PHPについて一通り学習して、今後また使う機会があるかもなので、備忘録として残しておきます。
基本形
- phpを使う際は、
<?php ... ?>
の間に記述していく。 - 文末にセミコロンをつける。
<?php
echo 'HelloWorld!';
?>
変数に数字を足す
- 省略形を紹介
// 変数xに1を代入
$x = 1;
// 四則演算の省略形
$x += 10;
$x -= 10;
$x *= 10;
$X /= 10;
$x %= 10;
// 値が1のときだけの省略形
$x ++;
$x --;
文字列の連結
- 文字列の連結は、ドット「.」を使う
- 「.=」で省略して書ける
$name = '久保';
echo '私の名前は'.$name.'です';
// 結果: 私の名前は久保です
// 省略形
$name .= '建英';
echo $name;
// 結果: 久保建英
変数展開
ダブルクォーテーションで文字列を囲んだときのみ
- シングルクォーテーションで文字列を囲んだときは、そのまま文字列としてみなされる
- 変数を
{ }
で囲う
$name = '久保建英';
echo "私の名前は、{$name}です";
// 結果: 私の名前は、久保建英です
echo '私の名前は、{$name}です';
// 結果: 私の名前は、{$name}です
if文
- 基本形は
if(条件式){}
- else,elseifを使って条件分岐
- 条件の否定は
if(!(条件式)){}
のように「!」を使う
$x = 10;
if($x > 30){
echo '$xは30より大きい';
}elseif($x >= 30){
echo '$xは30以下20以上';
}else{
echo '$xは20より小さい';
}
// 結果: $xは20より小さい
// 条件の否定
$name = '久保建英';
if(!($name == 'リオネル・メッシ')){
echo '$nameはリオネル・メッシではない';
}
// 結果: $nameはリオネル・メッシではない
条件式の条件
// 大小を比べる
<
<=
>
>=
// 等しいか調べる
==
!=
// かつ、または
&&
||
switch文
- if文で、条件分岐が多く複雑なときに、switch文に書き換えるとシンプルにできる
-
break
を各ブロックの最後に記述 - breakがないと、条件が一致しても次のブロックが実行される
// if文で書いたコード
if($coin == 0){
echo '表';
}elseif($coin == 1){
echo '裏';
}else{
echo 'エラー';
}
// switch文で書いたコード
swich($coin){
case 0:
echo '表';
break;
case 1:
echo '裏';
break;
default:
echo 'エラー';
break;
}
配列
- インデックス番号は、0.1.2...
- 連想配列で、キーをつけられる
$colors = array('赤','青','黃');
echo $colors[0];
// 結果: 赤
// 連想配列
$player = array(
'name' => 'リオネル・メッシ';
'team' => 'バルセロナ';
'sex' => '男性';
)
echo $player['name'];
// 結果: リオネル・メッシ
for文
-
for(初期化、ループの条件、変数の更新){繰り返す処理}
が基本形で、ループの条件に合うまで繰り返し処理される
// $iを1から100まで出力
for($i = 1; $i <= 100; $i++){
echo $i;
}
foreach文
- 基本形は
foreach(配列as値変数){繰り返したい処理}
- キー名も出したければ、
foreach(配列as $key => $value){繰り返したい処理}
$colors = array('赤','青','黃');
foreach($colors as $color){
echo $color.' ';
}
// 結果: 赤 青 黃
// 連結配列
$colors = array(
'りんご' => '赤',
'ブルーベリー' => '青',
'バナナ' => '黃'
);
foreach($colors as $key => $value){
echo $key.':'.$value.' ';
}
// 結果: りんご:赤 ブルーベリー:青 バナナ:黃
まとめ
今回はよく使うであろう基本形についてまとめておきました。
ぼく自身はRubyを学んでいたので、文法は少しずつ違うのですが、基本的にやってることは同じなので、理解が早かったように思います。
よく言う、2つ目の言語の習得は早いというのはこうゆうことなのでしょうか?
まだまだPHPに関する理解は追いついていないため、これからも頑張っていきます!