$tempfiles=array();
$i=0;
foreach ($query->result_array() as $row) {
$sql='Select * FROM file WHERE name="'.$row['filename'].'"';
$q=$this->db->query($sql);
foreach ($q->result_array() as $tuple) {
$tempfiles[$i]['content']=$tuple['content'];
$tempfiles[$i]['owner']=$tuple['content'];
$tempfiles[$i]['last_modified_date']=$tuple['last_modified_date'];
}
$i++;
}
$i=0;
$files=array();
foreach ($query->result_array() as $row) {
$files[$i]['name']=$row['filename'];
here: $files[$i]['content']=$tempfiles[$i]['content'];
here: $files[$i]['owner']=$tempfiles[$i]['owner'];
here: $files[]['last_modified_date']=$tempfiles[$i]['last_modified_date'];
$i++;
}
php错误:未定义的偏移量0在我提到'这里'的行,是什么问题我无法弄明白?
/我正在使用codeigniter ./
答案 0 :(得分:0)
你最好检查一下
$query->result_array()
在第一个循环中它包含任何结果。
如果没有,那么你不应该进一步移动,否则执行代码。
再次为第一个foreach中的下一个代码,请检查
$q->result_array()
如果它包含结果,则移动以分配 $ tempfiles 中的值。
要在 $ files 中分配值,您应该这样做,
$files=array();
if( !empty($tempfiles))
{
$i=0;
foreach ($query->result_array() as $row) {
$files[$i]['name']=$row['filename'];
here: $files[$i]['content']=$tempfiles[$i]['content'];
here: $files[$i]['owner']=$tempfiles[$i]['owner'];
here: $files[]['last_modified_date']=$tempfiles[$i]['last_modified_date'];
$i++;
}
}