- 試す環境を作る
- 書き方
- ループ文
- callable
などについて。
#試す環境を作る
とりあえず作りたいときは *.php
ファイルを作る。
#書き方
<?php
echo "hello;
echo
は「出力する」
##改行したいとき
PHP_EOL
を使う。
##実行
ターミナルで以下のようにしてファイル内のphpが実行される。
php hoge.php
##デバッグ
var_dump $hoge;
##変数
$hoge
のように $
を使う。
###名前の付け方
- キャメルケース
$thisIsAPen
- スネークケース
$this_is_a_pen
どちらでも良いが、統一すること。
##型
phpでは文字列が使える。
###基本的な型
phpは変数の中にどんな型でも入れることができる。
型名は大文字・小文字を統一すること。
$hoge = 123;
$hoge = "123";
$hoge = true;
$hoge = false;
$hoge = NULL;
ので、どの型なのかをちゃんとチェックしておくこと。
##配列
###リスト配列
keyが一致してないと(下記の場合だと[4]とか)Exceptionが吐き出される。
$array = array("lemon", "apple", "banana");
echo $array[1] . PHP_EOL;
###連想配列
他の言語で言うところのマップ。
$array = array(
"lemon" => "yellow",
"apple" => "red",
"banana" => "yellow",
);
###メジャーな配列の書き方
array()
は少し古い。
今は []
を使うのが主流。
$array = [
"lemon" => "yellow",
"apple" => "red",
"banana" => "yellow",
];
###配列の結合
前にある方が優先される。
array_merge
この時は後の配列が優先される。
###配列を削除
$user = [
"0" => "Tom",
"1" => "Katy",
"2" => "Jim",
"3" => "Mary",
];
について
unset($user[1]);
こうすることで連想配列の key
が 1
のものが削除される。
####注意点
[1]
のものが削除されたからといって、 key
は繰り上がらないことに注意。
$user = [
"0" => "Tom",
"2" => "Jim",
"3" => "Mary",
];
##結合
phpではあまり結合演算子を使わない。
変数を使用する。
<?php
$name = "Tom";
$string = "Hello World, $name!";
echo $string . PHP_EOL;
##クォーテーション
""
だと変数だと認識、 ''
だと文字列だと認識されてしまう。
##複雑な変数の場合
- 変数のすぐ後ろに文字列をつけたい
- 連想配列を使いたい
というときに関しては {}
で囲ってあげることで変数を認識してもらえるようになる。
<?php
$name = "Tom";
$string = "Hello World, {$name}さん";
echo $string . PHP_EOL;
$string = "Hello World, {$name[1]}さん";
echo $string . PHP_EOL;
##コード規約・コメント
開始 {}
は落とす、のが標準的な規約。
コメントは //
か ##
が使えるが、 //
が一般的。
その他規約については PSR
で検索。
public function hoge()
{
//
##
}
#ループ文
if
<?php
$hoge = 1;
if($hoge){
echo "trueです。------------------" . PHP_EOL;
}else{
echo "falseです。■■■■■■■■■■■■■■■■■" . PHP_EOL;
###値が○○のとき
####123のとき
true
####0のとき
false
####["hoge"]のとき
true
####[]のとき
false
イコール
の使い方
###厳格な検証 ===
<?php
$hoge = "124";
$piyo = 124;
if($hoge === $piyo){
echo "trueです。------------------" . PHP_EOL;
}else{
echo "falseです。■■■■■■■■■■■■■■■■■" . PHP_EOL;
####結果
false
###ゆるやかな検証 ==
「だいたい一緒」という感じの検証となる。
できるだけ上記の ===
を使うほうがよい。
<?php
$hoge = "";
$piyo = 0;
if($hoge == $piyo){
echo "trueです。------------------" . PHP_EOL;
}else{
echo "falseです。■■■■■■■■■■■■■■■■■" . PHP_EOL;
####結果
true
=
を使う場合
「代入する」の意味。
foreach
<?php
$list = ["apple", "lemon", "banana"];
foreach ( $list as $key=> $value ) {
echo "({$key}){$value}" . PHP_EOL ;
if($key === 1 ){
break;
}
}
foreach
を使ってるからといって 必ずしも配列ではない ということに注意。
オブジェクトだって回せる。
for
<?php
$list = ["apple", "lemon", "banana"];
foreach ( $list as $key=> $value ) {
for($i = 0; $i < 3; $i++){
echo "({$key}){$value}" . PHP_EOL ;
if($key === 1 ){
break;
}
}
}
callable
関数を実行する関数。
$sayHello = function(){
echo "hello {$name}" . PHP_EOL;
};
call_user_func($sayHello, "Tom");
call_user_func($sayHello, "Bob");