php - 多维数组中的 array_unshift 在所有数组的第一个元素处插入

标签 php arrays multidimensional-array

首先我对我的英语说抱歉..

我必须在多维数组中的所有子数组的第一个位置插入一个元素..

$docNum = "RT/2013-2014/0266";
$values = 
Array
(
[0] => Array
    (
        [0] => 2014-08-07
        [1] => Dl-Dis1
        [2] => Discount
        [3] => 7.500
        [4] => 26.25
    )

[1] => Array
    (
        [0] => 2014-08-07
        [1] => Dl-Dis1
        [2] => Discount
        [3] => 7.500
        [4] => 24.38
    )

 )

这两个是输入..

我给组合的代码是

array_unshift($values, $docNum);

我的输出是

 Array
(
[0] => RT/2013-2014/0266
[1] => RT/2013-2014/0266
[2] => Array
    (
        [0] => 2014-08-07
        [1] => Dl-Dis1
        [2] => Discount
        [3] => 7.500
        [4] => 26.25
    )

[3] => Array
    (
        [0] => 2014-08-07
        [1] => Dl-Dis1
        [2] => Discount
        [3] => 7.500
        [4] => 24.38
    )

)

我想要的输出应该是

 Array
(


[0] => Array
    (
        [0] => RT/2013-2014/0266
        [1] => 2014-08-07
        [2] => Dl-Dis1
        [3] => Discount
        [4] => 7.500
        [5] => 26.25
    )

[1] => Array
    (
        [0] => RT/2013-2014/0266
        [1] => 2014-08-07
        [2] => Dl-Dis1
        [3] => Discount
        [4] => 7.500
        [5] => 24.38
    )

)

我想你明白我在问什么..

而且我已经看到这个[链接]:(stackoverflow.com/questions/15398678/array-unshift-for-multidimensional-arrays)

请不要标记为重复..

先谢谢你..

最佳答案

您不能完全取消移动它。这将在父数组而不是子数组上添加值。您可以先循环它,然后循环每个子数组,然后使用 unshift。示例:

// generate the string with the value you'd unshift
$docNum = "RT/2013-2014/0266";

// build up your multidimensional array
$values = array(
    array('2014-08-07', 'Dl-Dis1', 'Discount', 7.500, 26.25),
    array('2014-08-07', 'Dl-Dis1', 'Discount', 7.500, 24.38),
);

// for every sub-array...
foreach($values as &$sub_array) { // & reference
    // ... unshift your value
    array_unshift($sub_array, $docNum);
}

echo '<pre>';
// check out the result
print_r($values);

输出如下:

Array
(
    [0] => Array
    (
        [0] => RT/2013-2014/0266
        [1] => 2014-08-07
        [2] => Dl-Dis1
        [3] => Discount
        [4] => 7.5
        [5] => 26.25
    )

    [1] => Array
    (
        [0] => RT/2013-2014/0266
        [1] => 2014-08-07
        [2] => Dl-Dis1
        [3] => Discount
        [4] => 7.5
        [5] => 24.38
    )
)

关于php - 多维数组中的 array_unshift 在所有数组的第一个元素处插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25198792/

相关文章:

php - Laravel-友谊

php - 如何确定真实用户正在浏览我的网站或只是在爬行或在 PHP 中

c++ - 结构内部的结构

excel - EXCEL VBA 中是否可以将多维数组作为参数传递?

c# - 复制多维数组的一部分

php - 如果字符串是变音符号,fgetcsv 会吃掉字符串的第一个字母

php - 是否可以使用 mysqli 语句获取表头?

python - 为什么 ByteArray() 组合数组值? (Python)

JavaScript 数组比较奇怪的行为

java - 将字符串数组中的数字转换为二维 int 数组