如何在PHP中访问for循环外的数组值

时间:2017-05-10 06:49:02

标签: php arrays for-loop

我正在使用PHP中的数组。我的问题是如何在for循环之外访问PHP数组值。

这是代码。

<?php
$a = array("1","2");
for($i=0;$i<count($a);$i++){
#some core functionality DB related.
$val = $row['values'];
$b = explode(',',$val);
}
print_r($b);

$fin = array_combine($a,$b);
print_r($fin);
?>

我想将两个数组合并,但我没有得到数组b。如何访问for循环外的数组值?

预期产出:

Array ( [0] => 7 [1] => 6 ) // b array
Array ( [1] => 7 [2] => 6 ) // fin array

3 个答案:

答案 0 :(得分:1)

尝试将所有结果附加到原始数组。 这样的事情。

<?php
$a = array("1","2");

for($i=0;$i<count($a);$i++){
#some core functionality DB related.
$val = $row['values'];
$temp_array = explode(',',$val);
    for($j=0;$j<sizeof($temp_array);$j++){
        array_push($a,$temp_array[$j]);
    }
}
print_r($a);

?>

答案 1 :(得分:0)

如果我没错,你正在寻找上面与我讨论过的代码

<?php
$a = array("1","2");
$b = array();
for($i=0;$i<count($a);$i++){
#some core functionality DB related.
$b[] = $row['values'];
}
print_r($b);

$fin = array_combine($a,$b);
print_r($fin);

?>

答案 2 :(得分:0)

我一直盯着原来的过程,似乎不必要地复杂化了。这不符合你的意愿吗?

$a=["1","2"];
foreach($a as $k=>$v){
    // I don't know if you are using $k or $v in your DB actions
    // On 1st iteration, $k=0 & $v="1"; on 2nd: $k=1 & $v="2"
    $fin[$v]=explode(',',$row['values']);
}
var_export($fin);

如果这是错误的,请告诉我这是怎么回事,这样我才能更好地理解这个问题。