Удаление элемента из вложенного массива в PHP - PullRequest
0 голосов
/ 24 апреля 2019

Я работаю над приложением Laravel, в котором у меня есть ассоциативный массив, который должен быть передан в конечную точку API. Перед публикацией в API Я хочу удалить ключ img вместе со значением . Я пытался использовать функцию сброса, но она не удаляет ключ img

Массив, где я хочу удалить свойство изображения

 $a[] = [
  0 => array:4 [
    "name" => "Martoo nnn"
    "relationship" => "Spouse"
    "dob" => "2001-02-03"
    "img" => "img.png"
  ]
  1 => array:4 [
    "name" => "sdsdsd sdsdsd"
    "relationship" => "Child"
    "dob" => "2019-04-04"
    "img" => "img1.png"
  ]
  2 => array:4 [
    "name" => "sdsdsd sddds"
    "relationship" => "Child"
    "dob" => "2019-04-05"
    "img" => "img2.png"
  ]
  3 => array:4 [
    "name" => "dssdsd dsdsd"
    "relationship" => "Child"
    "dob" => "2019-04-02"
    "img" => "img3.png"
  ]
  4 => array:4 [
    "name" => "dssdsd dssdsd"
    "relationship" => "Child"
    "dob" => "2019-04-04"
    "img" => "img4.png"
  ]
];

Неустановленный метод

$array = $a;
unset($array['img']);

//dd($a);

Ответы [ 2 ]

2 голосов
/ 24 апреля 2019

Вы можете сделать что-то вроде этого,

foreach ($array as $key => &$value) { // & defines changes will be made @ value itself
    unset($value['img']);
}

И да, я не понимаю, почему вы инициализировали $a как $a[]?

0 голосов
/ 24 апреля 2019
$newarray = array_filter($a, function($k) {
    return $k != 'img';
}, ARRAY_FILTER_USE_KEY);

и передайте этот новый массив

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...