PHP(一日目)

 

ビルトインサーバー
php -S IPアドレス:ポート番号 - ローカル開発環境で仮サーバーを立てる
 ・Ctrl+Cで終了
 ・エラーはターミナルで確認できる

変数とデータ型
・文字列:string
・数値:integer float
・論理値:boolean (true/false)
・配列
・オブジェクト
・null

・$xxxxx = ??????? - 変数$xxxxxに??????を代入する
 ・データ型を宣言する必要はなし

定数
・define("定数名(全角)","定数に代入する文字列"); - 定数を定義する
・var_dump(__LINE__); - 行数表示
・var_dump(__FILE__); - ファイル名表示
・var_dump(__DIR__); - ディレクトリ表示

数値型の演算
+ - * / % ** - 四則演算

単項演算子
++ -- - 1ずつ増減

代入を伴う演算子
$x *= 2; - $x = $x * 2と同様の計算

文字列
・"" - 特殊文字(\n, \t) 変数
・''

連結 .
$s = "hello " . "world"; - .の前後をつなげて表示する

if 条件分岐
・比較演算子 > < >= <= == === != !==
・論理演算子 and && , or || ,!

・例
if (条件式) {
trueの場合;
} elseif (条件式) {
trueの場合;
} else {
それ以外
}

真偽値
・falseになる場合
文字列:空 , "0"
数値:0 , 0.0
論理値:false
配列:要素の数が0
null

$x = 5;
if ($x) { - if ($x == true) {と同じ
echo "great!";
}

三項演算子
$max = ($a > $b) ? $a : $b; - ()の条件式が真の場合:左、偽の場合:右

if ($a > $b) {
$max = $a;
} else {
$max = &b;
}と同じ

ループ処理
・while - 前判定(結果が偽の場合処理されずに抜ける)
・do ... while - 後判定(結果が偽の場合でも一度処理をしてから抜ける)
・例
$i = 0;
while ( $i < 10) {
echo $i;
$i++;
}

do {
echo $i;
$i++;
} while ($i < 10) ;

・for
・break - ループを抜ける
・continue - それ以降の処理を実行せずに次のループに移る
・例
for ( $i = 0; $i < 10; $i++) {
if ($i == 5) {
//break; - $iが5の場合ループを抜ける:1234
continue; - $iが5の場合処理をせずに次の処理へ:13467889
}
echo $i;
}

配列
・key value
・例
$sales = array(
"suzuki" => 200,
"fkoji" => 800,
"dotinstall" => 600,
);

※PHP5.4以降 - array省略可能
・例2
$sales = [
"suzuki" => 200,
"fkoji" => 800,
"dotinstall" => 600,
];

var_dump($sales["fkoji"]); //800 - 変数配列["key"];
$sales["fkoji"] = 900; - 変数の内容の変更
var_dump($sales["fkoji"]); //900

・例3
$colors = ["red" , "blue" , "pink"];
var_dump($colors[1]); - keyを指定しない場合0~の連番が振られる

・foreach
・例
$sales = array(
"suzuki" => 200,
"fkoji" => 800,
"dotinstall" => 600,
);

foreach ($sals as $key => $value){ - 配列の内容をループ処理で取り出す
echo "($key) $value ";
}

$colors = ["red" , "blue" , "pink"];
var_dump($colors[1]); //blue

foreach ($colors as $value){
echo "$value ";
}

//コロン構文 - {}を: endforeachで表記できる
foreach ($colors as $value): ・HTMLに組み込む際に見やすくなる
echo "$value "; ・for , whileにも使用可能
endforeach;

関数
・function xxxx(); - xxxx()という関数を登録する
・例
function sayHi($name = "susuzki") { - 引数の初期値を設定する
//echo "hi!.$name ";
return "hi!" .$name ;
}

//sayHi(); - 引数を指定する
//sayHi("Tom");
//sayHi("Bob");
//sayHi();

$s = sayHi(); - 戻り値を返す
var_dump($s);