Добавление данных в многомерный массив после или перед foreach () - PullRequest
0 голосов
/ 07 апреля 2011

у них есть цикл thios foreach для создания массива. После или до того, как он будет создан foreach, я хочу добавить некоторые значения вручную. Я попробовал это так:

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

но таким образом, только последние добавленные значения (oid) сохраняются в массиве. Остальное удаляется. Где в моем коде ошибка?

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

Ваш код неверен, 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

0 голосов
/ 07 апреля 2011

Ошибка в том, что вы перезаписываете $ dynamic_name на каждом проходе цикла.Также у вас есть два массива в примере кода.Я думаю, что вы можете захотеть что-то вроде:

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

Если это не то, что вы имели в виду, пожалуйста, опубликуйте больше деталей.

...