2010年9月6日月曜日

PHPで変数を arrayや objectにキャストする

PHPでは「$after = (array)$before」のようにカッコ付きで型を指定しればデータをキャスト(型変換)できる。
特に、配列の場合とそうでない場合の両方あり得るデータを配列として扱うのに便利。

$arr = (array)$array_or_not;

以下は、配列やobjectにキャストするとどうなるかの実験結果。
//配列にキャスト
var_dump((array)123);         // => array(1) { [0]=>  int(123) }

//配列を配列にキャスト
var_dump((array)array(123));  // => array(1) { [0]=>  int(123) }

//Objectにキャスト
var_dump((object)123);        // => object(stdClass)#1 (1) { ["scalar"]=>  int(123) }

//配列をObjectにキャスト
var_dump((object)array(123)); // => object(stdClass)#1 (1) { [0]=>  int(123) }

//Objectを配列にキャスト
var_dump((array)(object)123); // => array(1) { ["scalar"]=>  int(123) }

0 件のコメント:

ブログ アーカイブ

tags