我正在尝试将编号为0到9的数组传递给我的视图。但是,当我尝试回显特定键或foreach所有键来显示数据时,没有任何显示。
我的控制器:
session_start()
输出:
//Update to not view tutorial
$.ajax({
type: "POST",
url: 'http://192.168.1.75/php/script.php',
success: function(data){
console.log(data);
}
});
我的观点:
$i=0;
$cleanarray = array();
foreach ($phrase as $innerphrase) {
if (is_array($innerphrase)) {
foreach ($innerphrase as $value) {
$cleanarray[$i] = $value;
$i++;
}
}
}
$this->load->view('blogview', $cleanarray);
然而没有任何表现。我也尝试过以同样的方式使用print_r。我知道CodeIgniter不允许我传递控制器中的变量,而是允许我直接访问数组中的键。
最终我想迭代数组并显示所有结果,但我试图开始"小"并至少获取数组的单个元素以传递给视图。如果有人可以解释为什么这不起作用,那么使用for或foreach迭代数组会做什么,我将非常感激。
我知道这个问题可能已被多次回答,但对于我的生活,我无法将对这些问题的回答推断为适合我的解决方案。
答案 0 :(得分:1)
使用此代码:
<强>控制器强>:
$i=0;
$cleanarray = array();
foreach ($phrase as $innerphrase) {
if (is_array($innerphrase)) {
foreach ($innerphrase as $value) {
$cleanarray[$i] = $value;
$i++;
}
}
}
$array2 = array(); // create a new array
$array2['contents']= $cleanarray; // add $cleanarray to the new array
$this->load->view('blogview', $array2); // pass the new array as the parameter
内部视图文件:
echo(“内容:”);
//打印$ cleanarray中的元素
foreach($ contents as $ val)
echo "$val<br/>";
注意:我们无法在此处访问$ array2。相反,请使用'$ contents []'。
答案 1 :(得分:0)
根据我的知识,codeigniter没有数据从控制器传递到视图,所以你可以尝试下面的代码,我必须确保它有效。
在您的控制器中
$i=0;
$cleanarray = array();
foreach ($phrase as $innerphrase)
{
if (is_array($innerphrase))
{
foreach ($innerphrase as $value)
{
$cleanarray[$i] = $value;
$i++;
}
}
}
$data['cleanarray'] = $cleanarray
$this->load->view('blogview', $data);
在您的视图中打印数组print_r($cleanarray);
我确信此代码可以正常运行。
快乐编码:)
答案 2 :(得分:0)
这不是您访问数组变量的方式。 $
不表示数组,它表示变量名的开头。访问$cleanarray
的第一个元素的语法是$cleanarray[0]
。
我承认我不是一个codeigniter编码器,所以我甚至不知道你是否在&#34;视图&#34;中访问它。由于控制器中的$this
业务,我猜不到。当然,其他人可以提供这些细节。
答案 3 :(得分:0)
在控制器中创建$ cleanarray后应用此
$data['cleanarray'] = $cleanarray;//assign $cleanarray to $data
$this->load->view('blogview', $data);//pass $data to your view
在视图中访问您的阵列应用此
<h2><?php echo $cleanarray[0]; ?></h2>
答案 4 :(得分:-1)
这是我的建议:
我不建议您使用数字作为变量名。要解决此问题,您可以使用“_”开头。例如:$_1
。
所以在循环更改$cleanarray[$i] = $value;
到$cleanarray['_'.$i] = $value;
。
当然,您需要在查看echo $_0;