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,')

Это возможно ?

-1

Решение

Пример решения с комментариями, объясняющими его шаг за шагом (для 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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]