2012-12-07 35 views
-1
$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在我已经提到的'在这里',什么是我不能弄明白的问题?undefined偏移php多维数组

/我使用codeigniter./

+0

'的var_dump($临时文件)'第一循环之后,看你有什么。 – deceze

+0

它说array(size = 0)空 –

+1

所以你的其他代码显然没有执行。 – deceze

回答

0

你最好检查

$query->result_array() 

在第一循环,它包含的任何结果还是不行。

如果不是,那么你不应该进一步移动,否则执行代码。

再次在第一的foreach下一个代码,查

$q->result_array() 

,如果它包含的结果,那么移动分配在$临时文件值。

并分配在$文件值,你应该去喜欢,

$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++; 
    } 
}