2012-01-14 108 views
3

比方说,比如我有这样的功能:用一个return语句的foreach循环

function testName($name){ 
    $nems = array('John','Mary','Joseph','Chuck'); 

    foreach($nems as $nem){ 
    if($nem == $name) 
     return true; 
    } 
    } 
} 

而且$name = 'Mary',将foreach循环立即终止一次$nem==$name或只是继续完成整个阵列的迭代?

回答

7

它会立即终止。

+0

OP的代码不会“如果($ nem == $ name)”他缺少's':-) – 2012-01-14 03:39:08

+1

@AdrianCornish:你确定吗?代码对我来说看起来很好。 – 2012-01-14 03:41:03

+0

DOH! - 根本没有;-) - 抱歉! – 2012-01-14 03:41:52

1

正如@DietrichEpp所说,它会立即终止;不过,我觉得我需要指出的是,这种问题可以用一个简单的测试脚本,这样很容易解决的和/或参考手册:

enter image description here 你会注意到,我甚至没有需要保存文件

请确保您在发布之前用尽其他资源。