我很困难,如果你有2分钟,请有人帮忙。
我有一个foreach,我从会话中获取值
foreach ($result as $i => $item ) {
$values_array = explode("\n",$get_widths); // outputs Array ( [0] => 120 [1] => 180)
// here I need to echo the value from the array but only ONCE
}
问题是这是由2个或更多项使用,每次重复数组输出,所以如果我得到2个项目 数组([0] => 120 [1] => 180)数组([0] => 120 [1] => 180)或 120 120 而是
120 180
实际代码见这里
<?php
foreach ($list as $i => &$item){
$i=0;
$is_group = $item_params->get('is_group');
$group_widths = $item_params->get('group_widths');
$group_widths_array = explode("\n",$group_widths);
if($is_group == 1){
echo $group_widths_array[$i];
}
}
?>
请注意,我不能移出foreach。谢谢
答案 0 :(得分:1)
我只想使用某种标志变量来确定我们是否已经处理过。
$values_array = explode("\n",$get_widths);
if (!isset($we_have_outputted)) {
echo '<pre>'. print_r($values_array, true) .'</pre>';
$we_have_outputted = true;
}
答案 1 :(得分:0)
我完全忽略了这个循环......
您正在迭代一个数组,将密钥分配给$i
,将值分配给$item
,然后将$i
设置为0,每次条件时都回显$group_widths_array[0]
已经满足了$item
你根本不使用......
那不对,可以吗?
无论如何,在我看来,重复输出的原因是每次都输出$group_widths_array[0]
并且$is_group
在每次迭代时都相同。