[PHP]型キャストでエラー回避

型指定できないと、どんな型で値が来るのかよくわからんですね。

特に POST やらなんやらで値を受け取る時は、どういう挙動になるか難しいところです。

型キャストを使ってみる

foreach で配列の値を取りたい時に配列を想定した変数に文字列が入っていた場合、エラーが発生してしまいます。

そこで、型キャストして変数を配列として利用します。

<?php
$str = "aaa";
foreach((array)$str as $item)
{
 echo $item;
}
?>

$str には “aaa” という文字列が代入されていますが、foreachの中で $str の前に (array) を記述して、型キャストを行なっています。

これで $str を配列として処理するので、エラーを吐かずに foreach の処理を行なう事ができます。

ただ、上記の例はちょっと乱暴な気がしますが、どうなんでしょう。

型キャストが必要な変数は foreach に入る前に別の変数を用意して代入しておく方がスマートかもしれません。

上記の書き方だと毎回型キャストを行なおうとする様な気がして、そうなのであれば処理が増えてしまうかなぁと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>