2012-12-07 74 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++; 
    } 
}