关于php foreach的参数问题

WBOY
WBOYオリジナル
2016-06-06 20:21:491567ブラウズ

<code>$arr = array();
foreach ($arr as $key => $value) {
    if (!isset($key)) {
        echo 'haha';
    }
}</code>

当$key不存在的时,输出haha,但是实际操作为什么什么也没有输出?

回复内容:

<code>$arr = array();
foreach ($arr as $key => $value) {
    if (!isset($key)) {
        echo 'haha';
    }
}</code>

当$key不存在的时,输出haha,但是实际操作为什么什么也没有输出?

没有进入foreach

$key 不存在是怎么被遍历到的?

逻辑问题,肯定进不了if

首先array为空,不会进入foreach,其次,不会存在!isset($key)的情况

楼上说的对,你的array都是为空的,程序都不会进入foreach循环。

$arr有值,也不会进入if

<code class="php">$arr = array('key1'=>'hello',3,4=>'34',4);
foreach ($arr as $key => $value) {
    if (!isset($key)) {
        echo 'haha';
    }else{
        echo $key.' ';
    }
}
//print: key1 0 4 5</code>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。