【问题标题】:Add array values at the start of each subArray from other array在每个子数组的开头从其他数组添加数组值
【发布时间】:2016-07-13 03:04:49
【问题描述】:

我有两个数组,$array1$array2,现在我想从$array2 中获取值,并将每个元素放在$array1 中的每个子数组的开头

第一个数组:

$array1 = Array (
    [0] => Array (
            [0] => 2
            [1] => 6
            [2] => 15 
            [3] => 6               
    )   
    [1] => Array (
            [0] => 5
            [1] => 8
            [2] => 6
            [3] => 12

    )    
    [2] => Array (
            [0] => 2
            [1] => 5
            [2] => 5
            [3] => 5             
    )    
)

第二个数组:

$array2 = Array (
    [0] => Outlook
    [1] => Temp
    [2] => Humidity        
)

预期输出(修改/新值加粗):

$array1 = 数组 (
    [0] => 数组 (
            [0] => '展望'
            [1] => 2
            [2] => 6
            [3] => 15
            [4] => 6
    )
    [1] => 数组 (
            [0] => '温度'
            [1] => 5
            [2] => 8
            [3] => 6
            [4] => 12
    )
    [2] => 数组 (
            [0] => '湿度'
            [1] => 2
            [2] => 5
            [3] => 5
            [4] => 5
    )
)

【问题讨论】:

  • 你在哪里卡住了?
  • 我无法理解如何做到这一点,如何根据需要合并两个数组
  • 您可以通过多种方式执行此操作。 1) 看看foreach 并遍历你的第二个数组。另外看看array_unshift() 2) 或者你看看array_map()array_unshift()。仔细阅读页面,查看示例,尝试编写一些代码,如果您遇到困难,请在此处发布尝试。我们会帮你完成它:)
  • @baboizk Op 希望以不同于欺骗中描述的方式合并数组。

标签: php arrays


【解决方案1】:

您可以将array_walk()anonymous functionarray_unshift() 一起使用:

array_walk
(
    $array1,
    function( &$row, $key, $kind )
    {
        array_unshift( $row, $kind[$key] );
    },
    $array2 
);

eval.in demo

array_walk() 使用自定义函数修改数组。可调用的函数参数是数组项(注意我们必须使用& 设置它by reference)、数组键(可选)和可选的自定义参数(在我们的例子中为$array2)。在函数内部,使用array_unshift()),我们可以在每个项目前添加相关的$array2 项目,通过键$key 选择它。


【讨论】:

  • 先生,它不像我提到的那样工作,它给出偏移错误
  • 只是先生我有一个小问题实际上在上面我提到 $array2 那从索引零开始实际上我的 $array2 是从索引一开始的,如下所示 $array2 = Array ( [1] => Outlook [2] => 温度 [3] => 湿度)
  • 先生,我的 $array2 是从索引 1 而不是 0 开始的。这就是为什么我面临偏移错误请指导我
  • 您可以使用$array2 = array_values( $array2 ) 重置密钥。
猜你喜欢
  • 1970-01-01
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多