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 件のコメント:
コメントを投稿