2015-01-09 3 views
-1

Это мой код:array_push в многомерный массив (добавить значение в ячейке)

$cars = array(
    array("Volvo" , '22,18,'), 
    array("BMW" , '15,13'), 
    array("Saab", '5,2'), 
    array("Land Rover", '17,15') 
); 

print_r($cars); 

это выход:

Array ([0] => Array ([0] => Volvo [1] => 22,18,) [1] => Array ([0] => BMW [1] => 15,13) [2] => Array ([0] => Saab [1] => 5,2) [3] => Array ([0] => Land Rover [1] => 17,15)) 

Я хочу, чтобы динамически толкать значения в (например) строковые числовые значения внутри этого многомерного массива, но не перезаписывать существующую ячейку (так же, как вы добавляете к строке $ string. = $ string. '+ Extra Content';)

например, это источник л:

array("Volvo" , '22,18,'), 

позволяет добавить '21, ' и позже позволяет добавить '27,' и позже позволяет добавить '14,»

ДИНАМИЧЕСКИ под этой конкретной клетки.

так что к концу дня было бы:

array("Volvo" , '22,18,21,27,14,') 

Возможно ли это?

+0

'$ автомобилей [ 0] [1]. = '21, '; ',' $ cars [0] [1]. = '27,'; 'и' $ cars [0] [1]. = '14, '; ' ? – Sean

+1

Строковое значение в массиве ведет себя точно так же, как значение строки в отдельной переменной, поэтому вы можете сделать то же самое. В чем именно проблема и что вы пробовали? – jeroen

+0

OMG так просто, но почему это не работает === >>> $ cars ['Volvo'] [1]. = '21; '; ?? – iprophesy

ответ

0

раствор образца с комментариями, объясняющих его шаг за шагом (для PHP> = 5.5) Для PHP < 5.5 вы можете использовать array_walk комбинацию

<?php 

$cars = array(
    array("Volvo" , '22,18,'), 
    array("BMW" , '15,13'), 
    array("Saab", '5,2'), 
    array("Land Rover", '17,15') 
); 

print_r($cars); 

$labels = array_column($cars, 0); // Get list of car manufacturers PHP>=5.5 
$labels = array_map(function($element){return $element[0];}, $cars); // Get list of car manufacturers PHP 4+ 
$id = array_search('Volvo', $labels); // Find id of 'Volvo' 
$cars[$id][1].='21,'; //append value 
$cars[$id][1].='27,'; //append value 

print_r($cars); 

Что и можно проверить на ideone

+0

Хороший человек, но array_column работает только в PHP 5.5> – iprophesy

+0

Ok. Я добавил решение для php <5.5 – mleko

Смежные вопросы