首页 > 解决方案 > php将数组值设置为键,但array_combine()没有给出预期的结果

问题描述

我得到一个数组,其中一个子数组被 array_combine 删除。我想将数组的值设置为键。我在 array_column($details,'id') 和 $details 中得到相同的数组大小,但结果 ($arr1Temp) 与预期不符,因此只创建了最后一个 $details 数组。

$arr1Temp = array_combine(array_column($details,'id'), $details);

代码片段

$details 的 print_r:

Array
(
    [0] => Array
        (
            [event_id] => 1
            [session_id] => 1
            [start] => 2018-09-06 10:30:00
            [end] => 2018-09-06 11:30:00
            [id] => william
        )

    [1] => Array
        (
            [event_id] => 1
            [session_id] => 2
            [start] => 2018-09-15 10:30:00
            [end] => 2018-09-15 11:30:00
            [id] => william
        )

)

array_column 的 print_r($details,'id'):

Array
(
    [0] => william
    [1] => william
)

$arr1Temp 的 print_r:

Array
(
    [william] => Array
    (
        [event_id] => 1
        [session_id] => 2
        [start] => 2018-09-15 10:30:00
        [end] => 2018-09-15 11:30:00
        [id] => william
    )    
)

如果 $details 中的 id 不同,则 array_combine 中的数组结果与预期一致。

标签: phparrays

解决方案


推荐阅读