Как удалить значение внутри массива в PHP - PullRequest
0 голосов
/ 02 мая 2019

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

я пробовал foreach и не устанавливал, но только первый массив удалял ['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  
        )

)

Ответы [ 4 ]

2 голосов
/ 02 мая 2019

Вы можете использовать array_walk

array_walk($arr, function(&$v, $k){
  unset($v['Phone']);
}); 
2 голосов
/ 02 мая 2019

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

$array = array_column($array, "Name");
0 голосов
/ 02 мая 2019

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

foreach ($array as &$val) {
    unset($val["Phone"]);
}
0 голосов
/ 02 мая 2019

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

$newArray = collect($oldArray)->map(function($element) {
    return [
        'name' => $element['name'];
    ];
})->toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...