我有一个如下数组
$array[$id][$iterator][test1][test2][a][b][c][d]
我想针对$iterator
的第一个实例测试每个test1=not null
(如果是,请使用a,b,c d)
否则使用test2=not null
的第一个实例使用(a,b,c,d)
否则使用" ---"
我不知道如何在查找test1
和test2
的第一个实例时获取循环,或者在这种情况下是否有比循环更好的构造?
答案 0 :(得分:3)
告诉它休息一下:)
foreach ($array as $item) {
if ($item == 'I the great overlord command you to stop iterating!') {
break;
}
}
如果你只是想知道你的数组中是否有某个值,你可以这样做:
if (in_array('The value you are looking for', $thatArrayItShouldBeIn)) {
die("Its in! Its in! Yippie!");
}
告诉我,如果我错了,但是根据你的评论我明白你希望你的迭代在某个循环中突破?
foreach ($array as $key => $item) {
// Keys start at 0, so the first item is 0
if ($key == 3) {
// We'll stop looping at the 4th iteration
break;
}
}
如果你真的有一个包含大量图层的数组,你只想为每次迭代检查一个值,你可以这样做:
foreach ($array[$id]['iterator'] as $item) {
if ($item['test1'] == true) {
// Do something
}
} }