Это мой код:
$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,')
Это возможно ?
Пример решения с комментариями, объясняющими его шаг за шагом (для 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
Других решений пока нет …