2013-10-15 3 views
0
$summary=$query->result_array(); //where the original array is created 
print_r($summary);      //dump contents 

Производит это:Заполнение многомерного массива с помощью array_pad?

Array ([0] => Array ([RecordID] => 2 [UserID] => 3 [BookID] => 1 [Title] => FirstBook) [1] => Array ([RecordID] => 3 [UserID] => 3 [BookID] => 2 [Title] => Sequel)) 

Теперь я хотел бы, чтобы дополнить многомерный массив с ценой элементом так, чтобы создать результаты

Array ([0] => Array ([RecordID] => 2 [UserID] => 3 [BookID] => 1 [Title] => FirstBook [Price] => 99) [1] => Array ([RecordID] => 3 [UserID] => 3 [BookID] => 2 [Title] => Sequel [Price] => 99)) 

Единственного способом я могу думать это должно разбивать многомерный массив на одномерные массивы, изменять их, а затем повторно собирать. Звучит не очень эффектно. Какие-либо предложения?

ответ

1

Вы можете обновить внутренние массивы по ссылке, обратите внимание & здесь:

foreach($summary as &$details){ 
    $details['Price'] = $price; // wherever $price comes from... 
} 
+0

спасибо, что вам нравится. – Maxcot

+0

Быстрый вопрос: какое техническое имя этого амперсанда вы выделили? «Обратите внимание на« здесь ». Это не оператор? Я пытаюсь прочитать об этом в документации PHP. – Maxcot

+1

@Maxcot прочитал [assigment] (http://www.php.net/manual/en/language.operators.assignment.php) и [ссылки] (http://php.net/manual/en/language.references .php) –

0

пытаются использовать:

foreach ($summary as $idx => &$arrValue) 
    $arrValue['Price'] = ###; 
0

Если вы устремлены на ваши размеры, перебирать со ссылкой и изменить сумму сводной информации на месте ...

<?php 
foreach ($summary as &item) { 
    $item['price'] = 99; 
} 

Если у вас есть конкретные возражения/проблемы w со ссылками:

<?php 
foreach ($summary as $key=>item) { 
    $summary[$key]['price'] = 99; 
} 
Смежные вопросы