array_push进入多维数组(将值附加到单元格)

时间:2015-01-09 22:23:24

标签: php arrays string cell 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内容&#39 ;;)

例如这是原始的:

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

让我们添加'' 然后 让我们添加''' 然后 让我们添加' 14,'

动态地在那个特定的细胞下。

所以当天结束时会是:

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

这可能吗?

1 个答案:

答案 0 :(得分: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

上测试