Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使foreach数组值在循环外部可见_Php_Arrays_Foreach - Fatal编程技术网

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];

我是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值基于用户给出的输入值。我要使所有值都可见,以便更新数据库中的一行。 提前谢谢你

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的值以更新数据库中的现有值。