Как из многомерного массива удалить элементы при сравнении?

В PHP можно удалить элементы из многомерного массива при сравнении, используя циклы и функции PHP для работы с массивами. Вот пример кода, который позволит вам выполнить это действие:

function removeElements($array, $condition) {
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $array[$key] = removeElements($value, $condition);
        } else {
            if ($value === $condition) {
                unset($array[$key]);
            }
        }
    }
    return $array;
}

// Пример использования
$myArray = array(
    'foo' => array(
        'bar' => 1,
        'baz' => 2
    ),
    'hello' => array(
        'world' => 3,
        'php' => 4
    ),
    'xyz' => array(
        'abc' => 5,
        'def' => 6
    )
);

$condition = 2;
$result = removeElements($myArray, $condition);

print_r($result);

В приведенном примере кода функция removeElements() принимает два параметра: массив, из которого нужно удалить элементы, и условие, по которому будет производиться сравнение.

В цикле foreach происходит обход массива и проводится проверка на то, является ли текущий элемент массивом или нет. Если элемент является массивом, вызывается рекурсивно функция removeElements() для обработки вложенных массивов.

В блоке else происходит сравнение значения элемента с условием. Если сравнение истинно, элемент удаляется с помощью функции unset(). Если значение элемента не соответствует условию, оставляем его нетронутым.

В результате выполнения кода на экран будет выведен новый массив, из которого будут удалены все элементы со значением равным 2:

Array (
    [foo] => Array (
        [bar] => 1
    )
    [hello] => Array (
        [world] => 3
        [php] => 4
    )
    [xyz] => Array (
        [abc] => 5
        [def] => 6
    )
)

Приведенный пример кода можно изменять в соответствии с вашими специфическими потребностями и требованиями.