在php中拆分一个数组有两个键拆分为两个数组

时间:2021-02-20 06:27:54

标签: php arrays

问题:

我有一个 array 有两个或多个键,基于 array 拆分为两个或多个创建 array in php

my Array :



array
(

    [RAJAHMUNDRY] => Array
        (
            [unspcp_code] => 46182005
            [title] => 3M™ Half Face Reusable Respirator HF-52 with Holder 1700 And Filter 1744
            [total] => 2
            [head_quarter] => RAJAHMUNDRY
            [0] => 2
        )


        [HYDERABAD] => Array
        (
            [unspcp_code] => 46182005
            [title] => 3M™ 6200 HALF FACE MASK WITH 7093 FILTER
            [total] => 2
            [head_quarter] => HYDERABAD
            [0] => 2
        )
)

我想要这样的输出:

output:

array
(
      [RAJAHMUNDRY] => Array
        (
            [unspcp_code] => 46182005
            [title] => 3M™ Half Face Reusable Respirator HF-52 with Holder 1700 And Filter 1744
            [total] => 2
            [head_quarter] => RAJAHMUNDRY
            [0] => 2
        )

        )
)

array(
  [HYDERABAD] => Array
        (
            [unspcp_code] => 46182005
            [title] => 3M™ 6200 HALF FACE MASK WITH 7093 FILTER
            [total] => 2
            [head_quarter] => HYDERABAD
            [0] => 2
        )

)

2 个答案:

答案 0 :(得分:0)

我不确定您想如何存储这些数组,但让我帮助您。

我假设您有这样的数据结构,因此一个数组具有多个值。

array (
   key1 => ...values...,
   key2 => ...values...,
   ...
   key_n => ...values...
)

而且你想要这样的东西,si 多个数组单键,你需要以某种方式存储该数组。

array (
   key1 => ...values...
)
array (
   key2 => ...values...
)
...
array (
   key_n => ...values...
)

如果您不知道确切数组的数量,则不能$array1, $array2, ... $array_n,而且效率也不高,因此您应该拥有一个数组数组。所以是这样的:

array(
    array (
       key1 => ...values...
    )
    array (
       key2 => ...values...
    )
    ...
    array (
       key_n => ...values...
    )
)

所以你应该遍历输入数组的键,然后 所以代码

<?php

//example input array
$arr = array (
    "key1" => "val1",
    "key2" => "val2"
);

$keys = array_keys($arr); //get the keys of the input array, see phpdoc

$output = [];
foreach($keys as $key) {
    $output[] = array ($arr[$key]);
}

?>

这将输出一个数组数组,具有内部数组的单个键。 如果这不是您的答案,请回复。

研究:

https://www.php.net/manual/en/function.array-keys.php

https://www.php.net/manual/en/control-structures.foreach.php

答案 1 :(得分:-1)

php.net - arrays manual Example #6 访问数组元素
也许这份文件对你有帮助

这也能帮到你

<?php 
$stdArray = array(
    "foo" => "bar",
    42 => 24,
    "dimensional" => array(
        "fname" => "jon",
        "lname" => "doe",
    ),
    "multi" => array(
        "RAJAHMUNDRY" => array(
            "unspcp_code" => 46182005,
            "head_quarter" => "RAJAHMUNDRY",
            0 => 2
        ),
        "HYDERABAD" => array(
            "unspcp_code" => 46182005,
            "head_quarter" => "HYDERABAD",
            0 => 2
        ),
    )
); 

print_r($stdArray);
print_r($stdArray["multi"]);
print_r($stdArray["multi"]["RAJAHMUNDRY"]);