Php 使foreach数组值在循环外部可见
我是PHP的新手,想问一些关于数组的所有值如何在foreach循环外可见的问题。我的代码是这样的:Php 使foreach数组值在循环外部可见,php,arrays,foreach,Php,Arrays,Foreach,我是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];
$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值基于用户给出的输入值。我要使所有值都可见,以便更新数据库中的一行。
提前谢谢你
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;
如果您只想要一个看起来像a1b2c3的字符串,可以这样做:
foreach($doc as $a => $value){
$output .= $doc[$a] . $ref[$a]
}
echo $output; //echo outside of the loop
首先,您必须弄清楚使用哪些循环。。您不能让它们输出循环之外的所有值,它只是停留在循环结束前的最后一个值。您希望如何确切地使用数组值更新数据库?对不起,我实际上希望使用数组$docs和$refe的值更新数据库。我会去echo测试可能出现的值。感谢您的所有回复,我将试一试。这将打印:A1AB12ABC123我不想合并它们,我想分离$doc和$ref的值以更新数据库中的现有值。