我正在使用Codeigniter 3并从API获取数据。API在我传递原始json数据后返回以下内容,$myArray = json_decode($theBody, true);
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索引添加
[0]
前面的数组指针。(例:$flashData[0]['entry_name']
)
你可以通过键访问flashdata字段,因为它是一个关联数组。
$flashdata = $this->session->flashdata('message');
$status = $flashdata['status'];
由于message
是一个数组,因此可以遍历数组来获取它的值。
foreach($flashdata['message'] as $key => $value){
echo $value;
}