Как проверить, может ли строка использоваться в качестве имени переменной в PHP?

В PHP можно использовать переменные переменные...

Например...

class obj { }
$fieldName = "Surname";
$object = new obj();
$object->Name = "John";
$object->$fieldName = "Doe";
echo "{$object->Name} {$object->Surname}"; // This echoes "John Doe".

Однако строка $fieldName может содержать некоторые символы, не позволенные в именах переменной. PHP все еще создаст поле с тем именем (во многом как ассоциативный массив), но я не смогу получить доступ к нему с $object->......, потому что это не проанализировало бы правильно.

Теперь, есть ли любая функция, которая может проверить, может ли строка использоваться в качестве допустимого имени переменной PHP. В противном случае, как это было бы создано с помощью регулярных выражений? Каковы правила для имен переменной в PHP?

7
задан Kornelije Petak 20 October 2010 в 16:30
поделиться