@venomphp

Как удалить ключи в массиве?

$arTab = [
    'call',
    'fields',
    ];

$arr[] = [
    'id' => 'call',
    'communication' => '123'
    ];
$arr[] = [
    'id' => 'fields',
    'communication' => '111'
    ];
$arr[] = [
    'id' => 'garden',
    'communication' => '4544'
    ];    
    
    $ar = [];
    
    foreach ($arr as $key => $value) {
        foreach ($arTab as $valueArr) {
            if ($valueArr == $value['id']) {
                unset($value);
//unset($value[$key]);
            }
        }
        $array[] = $value;
    }
    
    echo '<pre>';
    print_r($array);


$arTab массив значений, которые необходимо удалить в другом массиве, пытаюсь проверить на значение и записать в другой массив, элементы удаляются, но ключи остаются пустыми, пытаюсь делать unset($value[$key] но ключи не удаляются, необходимо что бы ключи тоже были удалены
  • Вопрос задан
  • 127 просмотров
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$arTab = ['call', 'fields'];

$arr = [
	['id' => 'call', 'communication' => '123'],
    ['id' => 'fields', 'communication' => '111'],
    ['id' => 'garden', 'communication' => '4544'],
];

$result = array_values(array_filter(
	$arr,
	static fn(array $item): bool => !in_array($item['id'], $arTab),
));

var_export($result);
// array (
//    0 => array (
//        'id' => 'garden',
//        'communication' => '4544',
//    ),
//)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы