unset $arr[$key];
Не должно ли быть:
unset($query[$key]);
из руководства php :
echo на самом деле не является функцией (это языковая конструкция )
echo
то же самое с unset.
unset
isset и unset фактически реализованы как унарные операторы PHP, поэтому их можно использовать без паренов.
Если я вас правильно понимаю, это будет называться языковой конструкцией , такой как echo.
В чем разница между языковой конструкцией и "встроенной" функцией в PHP?