2014-03-31 66 views
2

我已經在php模型中創建了這個多維數組。下面是。通過多維數組在樹枝中循環

$handle = opendir($this->path); 

while(false !== ($file = readdir($handle))) 
{ 
    if($file != "." && $file != "..") 
    { 
     $this->content[] = array(
      'name' => $file, 
      'name_href' => $file, 
      'extn' => $this->findExts($file), 
      'file_size' => number_format(filesize($this->path . '/' . $file)), 
      'mod_time' => date("M j Y g:i A", filemtime($this->path . '/' . $file)), 
      'time_keys' => date("YmdHis", filemtime($this->path . '/' . $file)) 
     ); 
    } 
} 
closedir($handle); 

,我通過它試圖用循環樹枝。但該頁面不顯示任何內容。但是,如果我print_r$content數組顯示所有的數據,所以我知道該數組不是空的。有人可以幫助我瞭解如何循環瀏覽並顯示內容。

這裏就是我試圖

{% for key, value in content %} 
    <li> 
     <a class="show_content" href="{{ value.name_href }}">{{ value.name }}</a> 
    </li> 
{% endfor %} 

但這並不顯示任何內容。這裏是我將內容傳遞到樹枝模板的地方。

$template = $twig->loadTemplate('layout.html.twig'); 
$template->display(array('content' => $content)); 
+0

爲什麼? $ this-> content [],爲什麼不是$ this-> content – mpm

+0

@mpm,因爲它在while循環中,所以它迭代了多次 – zachstarnes

+0

'dump(value)'並看看它是怎麼樣的 –

回答

0

所以問題不是循環。它工作正常。

問題是我沒有以正確的方式傳遞內容,我只是沒有注意。愚蠢的錯誤。

我有這樣的: $template->display($content);

,它需要的是這個 $template->display(array('content' => $content));

+0

你應該看看php [glob](http://us1.php.net/manual/en/function.glob.php)函數來避免這種老派風格的方式迭代儘管文件。 –