我现在很困惑,我正在使用代码点火器php框架并将数组传递给视图,因此我可以从视图中访问该变量。
所以我在这个视图中
echo var_dump($data["mykey"]);
我得到了
string '43' (length=2)
但是当我尝试
时echo $data["mykey"];
我得到了
A PHP Error was encountered
Severity: Notice
Message: Undefined index: "mykey"
Line Number: 8
???
编辑(问题似乎是当代码点火器试图从视图返回以将其作为字符串传递回控制器时,这是我的结论,因为如果我在视图的末尾放置一个模具就可以了)
$data
数组是这样的,在我看来,我尝试echo $data["myfield"][0]["data"]
array
'myfield' =>
array
0 =>
array
'data' => string '1'
'myfieldb' =>
array
0 =>
array
'data' => string '2'
答案 0 :(得分:3)
class controller extends CI_Controller {
function hello() {
$data['world'] = 'world';
$this->load->view('test');
}
}
在您的视图中
<html>
<head></head>
<body>
Hello <?php echo $world ?>;
</body>
</html>
传递给视图的数组键将转换为变量。
因此,要在视图中访问$data['mykey']
,您必须访问$mykey
而不是$data['mykey']
。
<html>
<head></head>
<body>
Your key is: <?php echo $mykey ?>;
</body>
</html>
答案 1 :(得分:0)
当我重新创建你在PHP中提供的内容时
<?php
$array = array(
'myfield' =>
array(
0 =>
array(
'data' => '1')),
'myfieldb' =>
array(
0 =>
array(
'data' => '2')));
echo $array['myfield'][0]['data'];
?>
它很好。
您获得的错误意味着指定的密钥不存在。我会做一个print_r($data)
并看看你得到了什么。