使用PHP从多维数组中删除第一个元素

时间:2019-05-30 03:03:40

标签: php arrays

形成此数组,如何删除Provinces的第一个元素?

Array
(
    [Country] => Canada
    [Provinces] => Array
        (
            [0] => Quebec
            [1] => Ontario
            [2] => British Columbia
        )
)

谢谢。

3 个答案:

答案 0 :(得分:2)

您可以使用unset()来做到这一点:

unset( $myArray['Cities'][0] )

https://www.php.net/manual/en/function.unset.php

答案 1 :(得分:1)

如果要删除键名称为Provinces的数组中的第一项,并且不必保留数字键,则也可以使用array_splice

$arr = [
    "Country" => "Canada",
    "Provinces" => [
        "Quebec",
        "Ontario",
        "British Columbia"
    ]
];
array_splice($arr["Provinces"], 0, 1);

Php demo

或使用unset保留数字键:

unset($arr['Provinces'][0]);

答案 2 :(得分:0)

您可以同时使用两种方法,但是不同之处在于,当您使用unset时,将通过键的键删除一个元素,例如,unset($ myArray ['country'])将删除国家/地区键值对。

如果要删除多维数组中的第一个元素,则可以使用array_shift()轻松地删除。它将删除此特定元素的所有子数组。

假设它是一个位置数组

   $location = Array
       (
        [Country] => Canada
        [Provinces] => Array
         (
            [0] => Quebec
            [1] => Ontario
            [2] => British Columbia
        )
)

// Removing first array item
$location_new = array_shift($planets);
print_r($location_new);//it will give **Canada**
//and now
print_r($location);//it will give the 

 Array
       (
        [Provinces] => Array
         (
            [0] => Quebec
            [1] => Ontario
            [2] => British Columbia
        )
)