コンパイラかく語りき

import { Fun } from 'programming'

PHPの勉強 ①PHP入門

どうも!chuckです。

前回、ZendサーバをDLしてMAMP環境を構築しました。

 

chuckwebtips.hatenablog.com

 

環境も整ったところで今日からいよいよPHPの練習です!

 

1.基本的なシンタックス

1.1コメント

// 1行コメント

/*

  複数行コメント

*/

JavaScriptJavaと同じですね!

 

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学習に際して、以下の書籍を参考にしています。

www.amazon.co.jp