2013-12-12 90 views
-1

我有一個小問題,如何顯示此腳本的數組值。 它掃描文件名後面的字符串「tn」在一個目錄中,併發出一個數組。PHP - 顯示數組值

array(2) { [0]=> string(13) "pics/tn_2.jpg" [1]=> string(13) "pics/tn_1.jpg" } 

我需要知道我可以只顯示例如回聲陣列一個值[0]

那整個代碼:

<?php 

error_reporting(E_ALL); 

$searchDir = 'pics/'; 
$searchExtList = array('.jpg'); 
$searchString = 'tn'; 

$allFiles = everythingFrom($searchDir,$searchExtList,$searchString); 

var_dump($allFiles); 

function everythingFrom($baseDir,$extList,$searchStr) { 
$ob = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($baseDir),  RecursiveIteratorIterator::SELF_FIRST); 
foreach($ob as $name => $object){ 
    if (is_file($name)) { 
     foreach($extList as $k => $ext) { 
      if (substr($name,(strlen($ext) * -1)) == $ext) { 
       $tmp = file_get_contents($name); 
       if (strpos($tmp,$searchStr) !== false) { 
        $files[] = $name; 
       } 
      } 
     } 
    } 
} 
return $files; 

} 

echo $files['0']; // doesnt works !!!!!!!!!!! 
    ?> 
+0

你需要一個整數作爲關鍵,刪除引號 – Moe

+3

這個問題似乎是脫離主題,因爲它是關於調試代碼,並將對未來的訪問者沒有用。 – vascowhite

回答

4
$allFiles = everythingFrom($searchDir,$searchExtList,$searchString); 
echo $allFile[0]; 
+0

嗨thx回覆,但我得到了這仍然是一個空白頁。哦,我刪除了一個}感謝您的幫助,現在它的工作=) –

0

你應該申報$文件作爲首先是一個數組。例如:

function everythingFrom($baseDir,$extList,$searchStr) { 
    $files = array(); 
    .... 
1
$allFiles = everythingFrom($searchDir,$searchExtList,$searchString); 

現在您$ allFiles陣列是這樣的:

{ [0]=> string(13) "pics/tn_2.jpg" [1]=> string(13) "pics/tn_1.jpg" } 

擺脫[0]寫這樣的數據:

echo $allFiles[0];