ショコラ
PHP 空の文字列を explode した時の挙動
ここで問題です。空の文字列を explode します。この $a はどうなるでしょうか?
$a = explode(‘:’,”)
空の配列(array()、[])になると思いましたが。。。違います。
もっさん先輩
答え
echo count(explode(',',''));
1
var_dump(explode(',',''));
array(1) {
[0]=>
string(0) ""
}
ということで、foreach に explode の結果を与えると、予期せぬ「空のループ」が回ってしまう可能性があります。
空のループを回さない方法は、explode の前に空文字かのチェックを入れます。
if ('' != $s) {
foreach (explode(',',$s) as $i) {
:
}
}
以上