簡體   English   中英

為具有有效 JSON 的 foreach() 提供的無效參數

[英]Invalid argument supplied for foreach() with valid JSON

我很困惑為什么我收到錯誤 Invalid argument supplied for foreach()。 我在這里看到其他一些線程也有同樣的錯誤,但沒有一個解決方案對我有用。

我將我的 JSON 從數據庫中拉出(放入 $runStatus['fldRawFiles'])並具有:

$selectedFiles= json_decode($runStatus['fldRawFiles'], true);

回聲給了我:

{"6":{"files":[],"packages":["program_data/6/packages/1646756076.zip"],"scripts":["program_data/6/scripts/MEER_munger.py"]}}

然后我嘗試使用:

foreach($selectedFiles as $key=>$d){    
       $programname=$this->extractor_model->get_program_name($key);
//more code here
}

但是我收到錯誤 Invalid argument supplied for foreach()

我通過驗證器運行了 JSON,它說它是有效的。 我試過忽略真正的論點,但得到了相同的結果。 我也試過將 (array) 放在 json_decode 前面,但是我的密鑰是 0 而不是我想要的 JSON (6) 中的密鑰。

我究竟做錯了什么?

謝謝!

如果在執行$selectedFiles = json_decode($runStatus['fldRawFiles'], true);之后回顯$selectedFiles ;

你得到

{"6":{"files":[],"packages":["program_data/6/packages/1646756076.zip"],"scripts":["program_data/6/scripts/MEER_munger.py"]}}

那么那個字段里面多了JSON,所以再decode一下

foreach( json_decode($selectedFiles) as $key=>$d){
    echo $key;
}

暫無
暫無

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

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