如何检查字符串是否可以在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中的变量名称有哪些规则?
从
the manual开始:
因此,如果您通过RegEx运行字符串,您应该能够判断它是否有效. 应该注意,使用变量变量访问“无效”Object属性名称的能力是某些XML解析的正确方法. 例如,从SimpleXML文档:
接下来是这个代码示例: echo $xml->movie->{'great-lines'}->line; 因此,拥有只能以这种方式访问??的属性并不一定是错的. 但是,如果您的代码都创建并使用了对象 – 那么您会想知道为什么要使用这些属性.当然,允许类似于SimpleXML示例的情况,其中创建对象以表示控件范围之外的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |