どうも!chuckです。
前回、ZendサーバをDLしてMAMP環境を構築しました。
環境も整ったところで今日からいよいよPHPの練習です!
1.基本的なシンタックス
1.1コメント
// 1行コメント
/*
複数行コメント
*/
JavaScriptやJavaと同じですね!
1.2変数記号
変数の先頭には$マークをつけます。必須ではないけどPHPパーサーの処理が早くなるらしいです。
$mycounter = 1;
$myname = "hello";
$myarray = array(1,2,3);
1.3ストリング変数
他の言語同様、ダブルクオーテーションとシングルクォーテーションで囲みます。
$string1 = "Hello";
$string2 = 'World';
” ”と’ ’の違いについては後述。
1.4数値変数
プログラムの中に記述した数値がそのまま数値変数として扱われます。
$num = 10;
$float = 5.67; //浮動小数点数もOK
1.5配列
他の言語同様、複数要素をindexによってまとめることができる。
$myArray = array(1, 'hello', 10, 'one');
二次元配列もOK
$arrays = array(
array(1, 2, 3),
array('a', 'b', 'c'),
array(13, 'ok', 'ng')
);
2.変数の命名規則
- アルファベットか_(アンダースコア)で始める
- 変数名に含められるのはa-z,A-Z,0-9,_(アンダースコア)のみ
- スペースを入れることは不可
- 変数名には大文字小文字の区別がある
3.演算子
3.1算術演算子
いつもどおりの +−*/%,++,--
3.2代入演算子
=, +=, -=, *=, /=, %=あたりはまあいつもどおり。
新鮮だったのは .= (ドットイコール)
文字列を加算する模様。
$front = "hello ";
$back = "world";
$fron .= $back // "hello world"となる
3.3比較演算子
こちらもいつもどおり。==, !=, >, <, >=, <=
3.4論理演算子
&&, and, ||, or, !, xor
ん?なんか多くない??笑
xor はtrue-falseの組み合わせのみtrueになるようです。(true-trueではfalse)
and, orは後述。
4.代入
4.1ストリングのタイプ
’ ’と” ”の違いについて。
$msg = 'message';
echo 'You got a $msg'; // 'You got a $msg'と表示
echo "You got a $msg"; // "You got a message"と表示
なんかすごく違和感w
console.log('you got a ' + msg + '.'); ってやらなくていいんですね。
4.2ヒアドキュメント
echo <<<_END
This is a test.
First line.
Second line.
_END; //改行も含めて出力される
4.3変数の型付け
PHPの変数型付けは弱め。つまり自動変換してくれる。やったね!
4.4定数
変数と違い、内容が不変。define関数で定義して、$を先頭につけない。
前後にアンダースコアのついたマジック定数が存在する。
_LINE_, _FILE_, _CLASS_など。
4.5echo vs print
echoは関数ではなく引数を取れないただのコマンド。一方、printは複雑なことができる。
$b ? print "true" : print "false";
//$bの真偽を文字列出力
4.6変数のスコープ
ローカル変数、グローバル変数は他と似ている。
あとは静的変数あり。
function test() {
static $count = 0;
echo $count;
$count++;
} //関数の処理が終わっても数値の変更が保持される。
スーパーグローバル変数なんてのもある。
$_GET =>HTTPのGETメソッドを通して現行スクリプトに渡される変数
$_SESSION =>現行スクリプトで使用できるセッション変数
※ただしこれらはセキュリティに要注意。重要な情報を含んでいる。
次回
以上でPHPの基本的な勉強はおしまい。
次回からは式、関数、配列について、さらに詳しく学んでいきます(`・ω・´)ゞ
今回のPHP学習に際して、以下の書籍を参考にしています。