Ключевое слово `delete` в PHP делает то же, что и в C ++ или аналогичном? - PullRequest
1 голос
/ 17 января 2011

Просто для любопытства я набрал delete в редакторе с подсветкой синтаксиса PHP и поместил его с известным цветом ключевого слова.
Есть unset(), который, как я полагаю, при использовании в ссылке вызывает сборку мусора, освобождение ресурсовили что бы PHP ни делал, но что делает delete?
При попытке delete $ref на ссылочной переменной я получаю эту ошибку: Parse error: syntax error, unexpected T_VARIABLE in /... on line ...

Ответы [ 2 ]

9 голосов
/ 17 января 2011

Ваш редактор запутался. В PHP нет ключевого слова delete.

Если вы посмотрите в руководство , забавно все, что он говорит, это «фиктивная ручная запись» для людей, которые действительно ищут unlink() или unset. Для вашего случая избавления от ссылочной переменной, unset делает то же самое, за исключением того, что не уничтожает значение, только эту конкретную ссылку.

Кроме того, хотя в прототипе функции написано void delete ( void ), такой функции на самом деле не существует.

1 голос
/ 17 января 2011

Согласно значению 'delete' в C, вы говорите о функции 'unset ()' в PHP ...

unset($var);
// or
unset($var1, $var2,...);
...