2011-10-18 35 views
0

我發現並適應其掃描的數組,像這樣的條目的例子:PHP:如何合併兩個「無價值」數組?

$ignoredFileTypes = array('svn','fla','bak','db'); 
if(array_search('.fla',$ignoredFileTypes) > -1){ 
    return true; 
} 

它工作得很好我最初的需求。

現在,我想加入兩個數組,像這樣:

$ignoredFileTypes = array('svn','fla','bak','db'); 
$customIgnoredFileTypes = array('txt', 'xsd'); 
$ignoredFileTypes = array_merge($ignoredFileTypes , $customIgnoredFileTypes); 

不幸的是,產生像這樣的警告:

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in C:\wamp\www\packager.php on line 41 

那麼幾個問題:

  1. 正在使用上面的數組創建語法不正確?
  2. 我該如何正確創建這兩個數組,以便它們可以合併?

謝謝! d

+4

那麼接下來是什麼'$ ignoredFileTypes' * *實際上包含哪些內容? –

+2

我試着運行你的代碼,它對我來說工作得很好。 – icktoofay

+0

這個問題可以由編寫我改編的例子的人來回答。它什麼都沒有?我懷疑array_search的工作原理是因爲它正在搜索關鍵字,但合併不起作用,因爲這些關鍵字沒有值?我的密鑰......不需要值,密鑰值與我的數組*需要*一樣詳細。它是否必須具有價值? – danjah

回答

1

你的數組不是「無價值的」,它們只是數值數組。值是字符串('svn''fla'等)。

PHP docs for array_merge說:用數字鍵輸入數組中

值將隨遞增密鑰從零的結果陣列中開始重新編號。

您發佈的語法...

<?php 

$ignoredFileTypes = array('svn','fla','bak','db'); 
$customIgnoredFileTypes = array('txt', 'xsd'); 
$ignoredFileTypes = array_merge($ignoredFileTypes , $customIgnoredFileTypes); 
print_r($ignoredFileTypes); 

完美的作品對我來說:

Array 
(
    [0] => svn 
    [1] => fla 
    [2] => bak 
    [3] => db 
    [4] => txt 
    [5] => xsd 
)