[英]codeigniter array json and flashdata
我正在使用Codeigniter 3,並從API獲取數據。 在我將原始json數據通過$myArray = json_decode($theBody, true);
之后,API返回以下內容
array(2) {
["status"]=>
string(7) "failure"
["message"]=>
array(2) {
["entry_name"]=>
string(61) "The entry_name field must be at least 8 characters in length."
["entry_body"]=>
string(61) "The entry_body field must be at least 8 characters in length."
}
}
我現在想通過flashdata將該錯誤消息傳遞到我的視圖,該操作如下:
// VIEW FILENAME: new.php
$this->session->set_flashdata('message', $myArray);
在我看來,運行此命令時:
echo "<pre>";
echo var_dump($this->session->flashdata('message'));
echo "</pre>";
我得到了預期的輸出(與上面相同):
array(2) {
["status"]=>
string(7) "failure"
["message"]=>
array(2) {
["entry_name"]=>
string(61) "The entry_name field must be at least 8 characters in length."
["entry_body"]=>
string(61) "The entry_body field must be at least 8 characters in length."
}
}
但是,如何遍歷數組?
如何參考["status"]
和["message"]
任何指針表示贊賞。
取變量中的值,並導航到數組值,如下所示:
$flashData = $this->session->flashdata('message');
$status = $flashData['status'];
$message = $flashData['message'];
$entry_name = $flashData['message']['entry_name'];
$entry_body = $flashData['message']['entry_body'];
檢查數組如何通過,如果索引為零,則在數組指針前面添加
[0]
。 (例如:$flashData[0]['entry_name']
)
您可以通過其鍵訪問flashdata字段,因為它是關聯數組。
$flashdata = $this->session->flashdata('message');
$status = $flashdata['status'];
由於message
是一個數組,因此遍歷數組以獲取其值。
foreach($flashdata['message'] as $key => $value){
echo $value;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.