PHP文法まとめ
- JavaエンジニアがPHPの文法についてまとめました。
- あくまでJavaエンジニア用なので、Javaと異なる部分についての説明を重視し、同じような部分についての説明を端折っています。- PHPのバージョンは5です。
- 途中です。
型
//論理 $bln = True; //整数 $num1 = 123; //浮動小数点 $num2 = 1.234 //文字列 $str = "string"; //配列 $arr1 = array(1, 2, 3, 4, 5); $arr1 = array(5 => 43, 32, 56, "b" => 12); //オブジェクト $obj = new hoge //hogeクラスが定義されているとする
変数・定数
//変数 $hoge = 12; //定数 define("FOO", "something"); echo FOO; //'something' //デフォルトの定数 echo __LINE__; // echo __FILE__; // echo __DIR__; // echo __FUNCTION__; // echo __CLASS__; // echo __METHOD__; // echo __NAMESPACE__; //
関数
//関数の定義
function func_name($arg1, $arg2){
//do something
return 10;
}
//関数の呼び出し方
func_name("hoge", "poo");
//参照渡し
function func_ref_arg(&$arg) {
}
演算子
//実行演算子
$output = `ls -al`;
//エラー制御演算子
$my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'");
$value = @$cache[$key];
//比較演算子
$result = (2 == "2a") //true
$result = (2 === "2a") //false
制御構造
//if if ($a > $b) { } elseif($a == $b) { } else { } //switch switch($i) { case 0: break; case 1: break; default: } //for for($i = 0; $i <= 10; $i++) { } //foreach $arr = array(1,2,3,4); foreach($arr as $val) { echo $val; } //while while($i <= 10 ){ $i++; }
クラス
- クラス基本例
class Hoge { //クラス定数 private const VALUE = "value"; //クラス変数 public static class_value = "class_value"; //インスタンス変数 private ins_value; //メソッド public function func() { $this-> echo $self->class_value; } //クラスメソッド public static sfunc() { } } //定数呼び出し echo Hoge::VALUE //メソッド呼び出し(クラスメソッド) Hoge::func(); Hoge::sfunc(); //インスタンス化 $hoge = new Hoge; //メソッド呼び出し(インスタンスメソッド) echo $hoge->func();
//TODO 親クラスのコンストラクタ、メソッドの呼び出し方法