簡體   English   中英

在變量中獲取值時嘗試獲取非對象的屬性

[英]Trying to get property of non-object when get value in variable

試圖在第24行的E:\\ xampp \\ htdocs \\ sufiapiwork \\ poetlist.php中獲取非對象的屬性

你能修好它嗎? 我不知道發生了什么。 這是我的代碼。

function get_data($url)
{
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

$url="someurl";
$data = json_decode(get_data($url), true);

foreach($data as $val)
{
    echo $val->Name_Hi;
}

json_decode($result, true); 使關聯數組/哈希而不是匿名對象。 然后,表示法為$val['Name_Hi']以訪問該屬性。

實際上,您首先需要在數組中指定$data['Result']索引,然后使用$val['Name_Hi']查看數據。

foreach($data['Result'] as $val) {

    if($val['Name_Hi'] !== ''){

     echo $val['Name_Hi'] . '<br>';
  }

}

輸出:

आजिज़
आज़ाद
अब्दुल्ला हाशिमी
अली रहमती
अमानुल्ला
असदुल्ला शाह
फ़कीरा
फ़ज़ल बिन मुहम्मद अमीन
घासीराम
ग़रीब शाह
गुलामनबी हैदराबादी
ग़वासी दकनी
हसनअली शाह
हातिम दकनी
हुसेनी
इब्न निशाती
इसहाक़ बीजापुरी
Jagjeevan Saheb
करीमुद्दीन सरमस्त
महकम दकनी
महमूद दकनी

您從json_decode獲得的值是一個數組,因此您必須使用$val['Name_Hi']

如果需要對象,則必須從json_decode刪除第二個參數。


從文檔

函數json_decode()具有4個參數

  • $json =>要解碼的json字符串
  • $assoc = false =>如果為true,將獲得一個數組;如果為false(或未定義),則將獲得一個對象
  • $depth = 512 =>設置解碼嵌套值的最大深度
  • $options = 0 =>解碼功能的附加選項

唯一需要的參數是$json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM