我是PHP的新手,想问一下如何在foreach
之外的所有数组值可见循环。我的代码是这样的:
$reference = $_POST['ref'];
$userDoc = $_POST['userDoc'];
$doc = array_filter($userDoc);
$ref = array_filter($reference);
foreach($doc as $a=> $value){
$docs = $doc[$a];
$refe = $ref[$a];
echo $docs . $refe; // Result: all values in the array
}
echo $docs . $refe; // Result: only the last value in array
循环内的结果是 a1b2c3 。
虽然循环外只有 c3 。
请注意, a1b2c3 值取决于用户提供的输入值。我想让所有值都可见,以便更新数据库中的1行 先谢谢你。
答案 0 :(得分:0)
foreach($doc as $a=> $value){
$docs = $doc[$a];
$refe = $ref[$a];
echo $docs . $refe; //echo all values in the array
}
此处,每次重新声明$docs
和$refe
时。您需要使用点运算符将新值附加到现有变量,如:
foreach($doc as $a=> $value){
$docs.=$doc[$a];
$refe.=$ref[$a];
}
echo $docs. $refe;
答案 1 :(得分:0)
如果你只想要一个类似a1b2c3
的字符串,你可以这样做:
foreach($doc as $a => $value){
$output .= $doc[$a] . $ref[$a]
}
echo $output; //echo outside of the loop