starzware

ITスキル

PHP

PHPマニュアル
TIPS
予約語
and or xor __FILE__ exception
__LINE__ php_user_filter array() as break
case cfunction class const continue
declare default die() do echo()
else elseif empty() enddeclare endfor
endforeach endif endswitch endwhile eval
exit() extends for foreach function
global if include() include_once() isset()
list() new old_function print() require()
require_once() return() static switch unset()
use var while __FUNCTION__ __CLASS__
__METHOD__
自動変数
変数 説明
$_SERVER
$HTTP_SERVER_VARS
Webサーバが生成する情報を格納する配列
$_ENV
$HTTP_ENV_VARS
実行環境からの情報を格納する配列
$_COOKIE
$HTTP_COOKIE_VARS
クッキー内容の情報を格納する配列
$_GET
$HTTP_GET_VARS
GETで渡された情報を格納する配列
$_POST
$HTTP_POST_VARS
POSTで渡された情報を格納する配列
$_FILES
$HTTP_POST_FILES
POSTでアップロードされたファイルの情報を格納する配列
$_REQUEST $_GET/$_POST/$_COOKIE/$_FILESの情報を格納する配列
$_SESSION
$HTTP_SESSION_VARS
セッションに関する情報を格納する配列
$GLOBAL グローバルスコープにある全ての情報を格納する配列
$php_errormsg 同一スコープ内で発生した直近のエラーメッセージ情報を格納する配列
置換(正規表現なし)
//str_replace 日本語対応

定数
define('CONST_LF','\n');
参照
$str = "abc";
&$ref_str = &$str;
$ref_str = "XYZ";
echo $str; // XYZ
演算子
$num1 = 11;
$num2 = 22;
$str1 = 'abc';
$str2 = "10xyz";
$arr1 = array('a'=>1, 'b'=>2);
$arr2 = array('c'=>3, 'd'=>4);
echo $num1 . $num2 . "\n"; //1122
echo $str1 . $str2 . "\n"; //abc10xyz
echo $num1 + $num2 . "\n"; //33
echo $str1 + $str2 . "\n"; //10
$arr3 = $arr1 + $arr2;
print_r($arr3); //Array([a]=>1 [b]=>2 [c]=3 [d]=>4)
コメント
//コメント
# コメント
/*
 コメント
*/
includeとrequire
include/include_onceでファイルが見つからない時
->E_WARNINGエラー
require/require_onceでファイルが見つからない時
->E_ERRORエラー
ブロックとスコープ
//ブロック
{
  $str = 'xyz';
}
echo $str; //xyz
//ブロックでスコープが制限されないのでxyzが表示される
ループ
//for
for($i = 0; $i < 10 ; $i++){
}
//foreach
$lists = array('a'=>1, 'b'=>2)
foreach($lists as $key => $val){
}
//while
$j = 0;
while($j < 10){
  $j++;
}
//do-while
$j=0;
do{
  $j++;
}while($j < 10);
//break , continueの使用可能
条件分岐
if($x > 10){
}elseif($x > 5){
}else{
}
//switch
switch($y){
case 'a':
  break;
case 'b':
case 'c':
  break;
default:
  break;
}
モジュールがロードされているかを確認する
if(!extension_Loaded('xxx')){
  echo "ロードされていません";
}
関数が定義されているかを確認する
if(!function_exists('xxx')){
  echo "関数が定義されていません";
}
isXXX
//浮動小数点型か(常に倍精度)
is_float
is_double
is_real
//整数型かどうか(常に符号付きlong)
is_int
is_integer
is_long
//オブジェクト型かどうか
is_object
//リソース型かどうか
is_resource
//スカラー型かどうか
is_scalar
//文字列型かどうか
is_string
比較演算子
$ival = 10;
$sval = '10';
if($ival == $sval) print("同じ"); //同じと表示
if($ival === $sval) print("同じ"); //同じは表示されない
論理演算子
if($a == $b && $b == $c AND $c == $d || $d == $e OR $e == $f) print('一致');
エラー抑制
//@をつけるとエラーが発生しても抑制する
$fp = @fopen('file.txt','r');
global
function foo(){
  global $a; //$a = &$GLOBAL['a'];と同じ
  $a = 10;
}
print $a;
class
class Aaa{
  //コンストラクタ
  function Aaa(){}
}//class Aaa
class Bbb extends Aaa{
  function Bbb(){
    parent::Aaa(); //親オブジェクトのコンストラクタを呼び出す
  }
}
四捨五入
//round
$v = 1234.567
print round($v, 1); //1234.6
print round($v, 0); //1235
print round($v, -2); //1200
切り上げ
//ceil
$v = 123.4
print ceil($v); //124
三角関数
sin()
cos()
tan()
asin()
acos()
atan()
sinh()
cosh()
tanh()
asinh()
acosh()
atanh()
rad2deg()
deg2rad()
基底変換
base_convert('OxA0',16,10) //160
dechex()
hexdec()
decoct()
octdec()
decbin()
bindec()
乱数生成
//mt_randの方がrandより精度が高い
mt_rand
mt_srand //初期化
rand
srand //初期化
計算結果の数値の確認
is_nan       //NAN(Not A Number)
is_infinite  //INF(Infinite)
is_finite    //倍精度の浮動小数点数型が表現できる範囲の数値か
円周率
pi()
M_PI   = 3.14159265..  //pi
M_PI_2 = 1.57079632.. //[pi/2]
M_PI_4 = 0.78539816.. //[pi/4]
M_1_PI = 0.13830988.. //[1/pi]
M_2_PI = 0.63661977.. //[2/pi]
isset
//変数が定義されている場合はTRUE
isset
gettype系
gettype
get_defined_vars //現在のスコープの変数の一覧
get_resourcetype //リソースのタイプを表す文字列を返す("stream","pgsql link"など)
xxxval
floatval  //(float)変数と同じ
doubleval //floatvalへのエイリアス
intval    //(int)変数と同じ
strval    //(string)変数と同じ
settype($float, 'string')
empty
//FALSEと判断される場合はTRUEを返す
//"", "0", FALSE, NULL
empty
変数の内容を出力
print_r
var_dump
var_export
変数の内容をテキストファイルに保存可能な形式に変換
$result = serialize(変数);
$b = unserialize($result); //アンシリアライズ
環境変数
getenv //取得
putenv //設定 基本毎回設定必要