在 PHP 中访问具有非法名称的属性
在 PHP 中,访问具有非法名称的对象属性,例如包含连字符 (-) 的对象属性,可能具有挑战性。考虑以下场景:
问题:
您已从 API 调用中检索到一个对象,尽管其 var_dump 显示存在“todo-items”属性,您无法直接使用它访问它$object->todo-items.
解决方案:
有几种方法可以访问此类属性:
属性名封装:
PHP允许您可以将属性名称封装在大括号中以直接访问它们。这甚至适用于非法名称:
$object->{'todo-items'}
变量赋值:
将属性名称分配给变量并使用变量访问它方格内方括号:
$todolist = 'todo-items'; $object->$todolist
数组转换:
使用类似于 Zend_Config 所采用的技术将对象转换为数组:
public function toArray() { $array = array(); foreach ($this->_data as $key => $value) { if ($value instanceof StdClass) { $array[$key] = $value->toArray(); } else { $array[$key] = $value; } } return $array; }
以上是如何使用'todo-items”等非法名称访问 PHP 对象属性?的详细内容。更多信息请关注PHP中文网其他相关文章!