我有一个包含多个elememts的数组。我使用end($array)
来获取数组中的最后一个元素。但是如果最后一个元素包含一个值,它必须采用倒数第二个元素。但如果第二个最后一个元素也包含该值,则它必须转到下一个元素。我已经写了这段代码:
$g = end($array);
if($g != NULL && $g['MoreThanZero'] == true && $accountdata['bidding'] == 0) {
$v = end(array_pop($array));
} else {
$v = end($array);
}
在此代码中,它将一直持续到最后一个元素。如何制作一个“循环”,检查最后..倒数第二....第三个最后....第四个最后......
答案 0 :(得分:0)
您可以使用array_reverse()函数更改元素的顺序,然后使用foreach()循环遍历数组。
答案 1 :(得分:0)
使用一点foreach
,与array_reverse()
混合使其有效:
$accountdata['bidding'] = 0;
$array = array(
array('Value' => 10, 'MoreThanZero' => true),
array('Value' => -10, 'MoreThanZero' => false),
array('Value' => 20, 'MoreThanZero' => true),
array('Value' => -30, 'MoreThanZero' => false),
array('Value' => 30, 'MoreThanZero' => true),
array('Value' => 40, 'MoreThanZero' => true),
array('Value' => 50, 'MoreThanZero' => true)
);
$v = null;
foreach(array_reverse($array) as $g) {
if($g != NULL && $g['MoreThanZero'] == true && $accountdata['bidding'] == 0)
continue;
$v = $g;
break;
}
var_dump($v);
答案 2 :(得分:0)
$test = array('one','two','three','three');
function getLastElement($array = array(),$exclude=null){
$list = array_reverse($array);
foreach($list as $item){
if($item!=$exclude) return $item;
}
return null;
}
var_dump(getLastElement($test,'three'));