我的foreach声明中有20个项目。 我使用$ index = 0添加了计数器; $指数++
$index = 0;
foreach( $partialStructure as $map ) {
// i am getting specific number of $tmp for specific subject ( member )
$tmp = $this->getFieldValueString($field, $value, $subject, $map, $partialStructure);
$array = array(
$index => $index,
);
if(count($array) < 20) {
// redirect
} else {
// do nothing
}
$index++;
}
在我的情况下,如果没有20个项目,我想将会员重定向到另一个页面。 但是当我检查['20']并设置其他时,其他1到19仍然存在,并且如果成员有['20']存在,则重定向也会进行。
如果会员有20个不重定向的项目,以及是否有少于20个项目需要重定向,我怎么能让它发生呢?
谢谢!
答案 0 :(得分:1)
你可以检查数组的长度,而不是通过迭代来计算长度。
if(count($array)) < 20) {
//redirect
}else{
//do whatever you need to do
}
答案 1 :(得分:1)
尝试使用php函数count()来获取数组中元素的数量;) http://fr2.php.net/manual/en/function.count.php
答案 2 :(得分:0)
我修复了这样的代码:
$counter = 0;
$tmp= array();
foreach( $partialStructure as $map ) {
// i am getting specific number of $tmp for specific subject ( member )
$tmp[] = $this->getFieldValueString($field, $value, $subject, $map, $partialStructure);
if($tmp['20'])
$counter++;
}
// out of foreach element, i setup this
if($counter == 0) {
header("Location: /members/edit/profile?redirect=1");
}
$ counter会给你1,如果tmp [&#39; 20&#39;]在那里,否则,你可以进行重定向...