在foreach()之后或之前将数据添加到多维数组

时间:2011-04-07 19:36:32

标签: php multidimensional-array foreach

ich有thios foreach循环来创建一个数组。在foreach创建它之前或之后,我想手动添加一些值。 我用这种方式试了一下:

                $data = array();
            foreach ($xyz as $single):
                    $data[$dynamic_name] = $single->xyz;
            endforeach;
            $data[oid] = '####';

但是这样,只有最后添加的值(oid)存储在rray中。其余的被删除。我的代码中的错误在哪里?

2 个答案:

答案 0 :(得分:0)

错误是您在循环的每次传递中覆盖$ dynamic_name。此外,示例代码中还有两个数组。我想你可能会想要这样的东西:

$data = array();
foreach($xyz as $single)
{
    $data[] = $single->xyz;
}
$data['oid'] = '####'
print_r($data);

如果这不是您的意思,请发布更多详情。

答案 1 :(得分:0)

您的代码不正确PHP我无法阅读您的问题。我认为您希望在代码中的多个时刻向数组添加条目。

<?php
$data = array();
$data[] = "First item before foreach";

$xyz = array();
$xyz[] = "1";
$xyz[] = "2";
$xyz[] = "3";

foreach ($xyz as $single) {
    $data[] = $single;
}

$data[] = "Last item after foreach";

var_dump($data);
?>

array(5) {
[0]=>
string(25) "First item before foreach"
[1]=>
string(1) "1"
[2]=>
string(1) "2"
[3]=>
string(1) "3"
[4]=>
string(23) "Last item after foreach"
}

有关此主题的更多信息,请查看PHP站点。 http://php.net/manual/en/language.types.array.php