Я хочу удалить ['Phone'] внутри моего массива.

Я попытался foreach и unset, но только первый массив удалить ['Phone'].

Мой пример массива ниже.

Array
(
    [0] => Array
        (
            [Name] => ads
            [Phone] => 32132
        )

    [1] => Array
        (
            [Name] => ads
            [Phone] => 321322
        )

    [2] => Array
        (
            [Name] => ads
            [Phone] => 3213222
        )

)

И мой ожидаемый массив.

Array
(
    [0] => Array
        (
            [Name] => ads
        )

    [1] => Array
        (
            [Name] => ads          
        )

    [2] => Array
        (
            [Name] => ads  
        )

)
0
Jelbert 2 Май 2019 в 12:32

3 ответа

Если вам нужно только выбрать имена, вы можете просто выбрать их, используя array_column().

$array = array_column($array, "Name");
2
Qirel 2 Май 2019 в 09:34

Вы можете использовать функцию map() коллекции Laravel. и измените исходный массив, как хотите.

$newArray = collect($oldArray)->map(function($element) {
    return [
        'name' => $element['name'];
    ];
})->toArray();
0
Tharaka Dilshan 2 Май 2019 в 09:38

Ответ Qirel будет быстрее, я думаю, если у вас есть только «имя» и «телефон». Другая альтернатива, которая легка для глаз:

foreach ($array as &$val) {
    unset($val["Phone"]);
}
0
Gaius T 2 Май 2019 в 09:42