📌  相关文章
📜  Arr::forget() Arr::forget 方法使用“点”表示法从深度嵌套的数组中删除给定的键值对: (1)

📅  最后修改于: 2023-12-03 15:13:29.401000             🧑  作者: Mango

使用Arr::forget()方法删除多维关联数组中的键值对

当我们需要从一个多维关联数组中删除特定的键值对时,可以使用Laravel的Arr::forget()方法。这个方法可以根据“点”表示法来删除多维关联数组中的元素。这篇文章将介绍如何使用Arr::forget()方法进行删除。

方法签名
Arr::forget(array &$array, string $key): void

该方法有两个参数,$array表示要删除元素的多维关联数组,$key表示要删除的元素的键名。它返回一个空的值。

删除单个元素

让我们从一个简单的一维数组开始。我们有以下数组:

$data = [
    'name' => 'John',
    'age' => 30,
    'city' => 'New York',
];

要删除这个数组的“年龄”元素,我们可以使用以下代码:

use Illuminate\Support\Arr;

Arr::forget($data, 'age');

现在,$data数组中不再包含“年龄”元素。

使用点表示法删除多维数组元素

现在让我们看看如何从多维关联数组中删除元素。我们有以下数组:

$data = [
    'name' => 'John',
    'address' => [
        'city' => 'New York',
        'state' => 'NY',
        'zip' => '10001',
    ],
    'phone' => [
        'home' => '111-111-1111',
        'work' => '222-222-2222',
    ],
];

要删除这个数组中“地址”数组的“城市”元素,我们可以使用以下代码:

Arr::forget($data, 'address.city');

现在,$data数组中不再包含“地址”数组中的“城市”元素。

删除多个元素

要删除多个元素,需要调用多次Arr::forget()方法。例如,让我们删除$data数组中的“地址”数组和“工作电话”元素:

Arr::forget($data, 'address');
Arr::forget($data, 'phone.work');

在这里,我们首先删除了“地址”数组,然后删除了“电话”数组中的“工作”元素。

结论

使用Arr::forget()方法可以从多维关联数组中删除特定的键值对。该方法使用Laravel的“点”表示法来识别要删除的元素。现在,您可以使用此方法来删除您的多维关联数组中的任何元素。