【问题标题】:I want to change the key of multidimensional array [duplicate]我想改变多维数组的键[重复]
【发布时间】:2019-11-09 04:30:19
【问题描述】:

我想改变多维数组的键。该数组包含像 1,15,23,45 这样的键,应该用像 0,1,2,3 这样的普通索引键替换。我尝试使用以下代码。下面的代码中缺少一些东西。请任何人给我建议。

$keys = array_keys($data);
$d = 0;
foreach($data as $row){
    $key_data[$d] = $data[$keys[$d]];
    unset($row[$keys[$d]]);
    $d++;
}

电流输出

数组 (

[15] => Array
    (
        [0] => Array
            (
                [app_dealer_id] => 15
                [dealer_name] => Sharad Thombre
                [shopname] => Shivshankar Fertilizer
                [contact_num] => 9049121143
                [district] => Parbhani
            )

    )

[18] => Array
    (
        [0] => Array
            (
                [app_dealer_id] => 18
                [dealer_name] => Gajanan Khapre
                [shopname] => Shreyas Krishi Kendra
                [contact_num] => 8007791946
                [district] => Parbhani
            )

    )

)

预期输出:

Array
    (

        [0] => Array
            (
                [0] => Array
                    (
                        [app_dealer_id] => 15
                        [dealer_name] => Sharad Thombre
                        [shopname] => Shivshankar Fertilizer
                        [contact_num] => 9049121143
                        [district] => Parbhani
                    )

            )

        [1] => Array
            (
                [0] => Array
                    (
                        [app_dealer_id] => 18
                        [dealer_name] => Gajanan Khapre
                        [shopname] => Shreyas Krishi Kendra
                        [contact_num] => 8007791946
                        [district] => Parbhani
                    )

            )
)

【问题讨论】:

标签: php


【解决方案1】:

使用array_values()

$array = array_values($array);

输出:-https://3v4l.org/cUAdl

【讨论】:

    【解决方案2】:

    来自 php.net: array_values() 返回数组中的所有值并以数字方式索引数组。

    所以只需在你的循环之后添加它来重新索引你的数组:

    $keys = array_keys($data);
    $d = 0;
    foreach($data as $row){
        $key_data[$d] = $data[$keys[$d]];
        unset($row[$keys[$d]]);
        $d++;
    }
    $newArray = array_keys($key_data);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-18
      • 2019-07-24
      • 2018-03-18
      • 1970-01-01
      • 2017-01-01
      • 2012-03-21
      • 1970-01-01
      相关资源
      最近更新 更多