[英]Getting: ' Trying to get property of non-object' when trying to access the value in an array of objects
[英]Trying to get property of non-object when trying to access array
我正在嘗試通過其索引訪問數組,但是我需要從查詢字符串中獲取它。
我試過了:
$var = $_GET['id'];
echo $xml->subway->line[$var]->name;
那不行 但這確實是:
echo $xml->subway->line[0]->name;
嘗試這個:
$var = isset($_GET['id']) ? (int)$_GET['id'] : false;
if ($var !== false && isset($xml->subway->line[$var]) {
echo $xml->subway->line[$var]->name;
} else {
echo 'Your problem is either "id" not being in $_GET or $xml object does not have line with that index';
var_dump($_GET); //see what is 'id'
}
每次從索引數組中獲取項目時,都應檢查是否首先設置了該項目,以避免出現此類錯誤。
您的$_GET
變量很可能以string
而不是integer
因此PHP將假定索引不存在。 嘗試將其強制轉換為
$var = (int)$_GET['id'];
這迫使PHP將$_GET
視為integer
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.