【发布时间】:2013-12-04 12:52:55
【问题描述】:
将以下内容视为代码,
<?php
foreach ( $alldata as $alldatakey=>$alldatavalue){
foreach ( $alldatavalue as $neededdatakey=>$neededdatavalue){
#conditions here
foreach (){
if(){
$variable = $data1;
}
if(){
$variable .= $data2;
}
if(){
$variable .= $data3;
}
}
}
echo $variable;
}
?>
输出:
Sewer Connected,
Sewer Connected, Septic,
Sewer Connected, Septic, Septic,
Sewer Connected,
Sewer Connected, Septic,
Sewer Connected, Septic, Septic,
Sewer Connected,
Sewer Connected, Septic,
Sewer Connected, Septic, Septic,
Sewer Connected,
Sewer Connected, Septic,
Sewer Connected, Septic, Septic,
data1、data2、data3的条件是正确的。 为什么重复打印数据?
【问题讨论】:
-
unclosed foreach } 并把 unset($varibale);回声后
-
戴夫 - 我用过它,它几乎工作得很好,但我遇到了一个问题,比如它清除数据,因为它处于循环中,如果为空,我将
$variable;分配为“NIL”它还清除了 NIL——没有任何数据我无法插入数据库。 -
未设置的变量将完全清除变量。看到你的 .= 正在连接所有东西,这就是为什么你在循环的每次迭代中都会得到重复
-
我有必要连接数据,因为它都是一个子类别,是一个类别的结果。知道为什么它会返回数组键或数组键有空数据,因为我们在插入 db 后正在清除数据。因此,当 foreach 再次执行时,它应该包含更新的数据,但它正在清除数组中的一些值。如何避免这个问题?
-
戴夫将其发布为答案!我想接受!至少发布
unset的想法作为答案。
标签: php foreach logic controls conditional-statements