在PHP 中存取具有非法名稱的物件屬性
在PHP 中,遇到具有非法屬性名稱(例如,包含連字符)的對象可能會導致訪問它們時面臨挑戰。讓我們透過探索從 API 呼叫傳回的物件中檢索 todo-items 屬性的情況來解決這個問題。
要存取 todo-items 屬性,請直接存取該屬性 $object->todo-由於屬性名稱中的非法字符,項目將失敗。相反,我們可以使用以下方法:
1.方括號語法:
echo $object->{'todo-items'};
此語法將屬性名稱括在大括號內,允許存取包含非法字元的屬性。
2.變數內插:
如果屬性名稱儲存在變數中,我們可以使用變數內插法來檢索它:
$todolist = 'todo-items'; echo $object->$todolist;
3.陣列轉換:
為了進一步簡化對屬性的訪問,我們可以使用輔助函數將物件轉換為陣列:
$array = toArray($object); echo $array['todo-items'];
function toArray($object) { $array = []; foreach ($object as $key => $value) { if (is_object($value)) { $array[$key] = toArray($value); } else { $array[$key] = $value; } } return $array; }
以上是如何在 PHP 中存取具有非法名稱的物件屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!