2014-02-23 138 views
0

$name是字符串,包含文件名類似下面,最佳方式,如果一個字符串包含另一個字符串

AAA_ss_01.pdf,AAA_ss_02.pdf,AAA_sd_01.pdf,BBB_ss_02.pdf, BBB_ss_4。 pdf,BBB_sd_01.pdf,cc_saa_01.pdf

我想添加一個輸入名稱值來自動分類項目。

<input name="AAA" .../> or <input name="BBB" .../> ........ 

PHP

if (strpos($names, 'AAA') !== false) { 
    echo 'AAA'; 
}elseif (strpos($names, 'BBB') !== false){ 
    echo 'BBB'; 
}elseif (strpos($names, 'ccc') !== false){ 
    echo 'ccc'; 
}else{ 
    echo ''; 
} 

我做出這樣的函數

function contains($names, $string){ 
    if (strpos($names, $string) !== false) { 
     echo $string; 
    } 
} 

,但我不知道,如果是strpos我可以用一個正確的方法或有一個更好的。

感謝

+0

看來,$ name是一個字符串,而不是一個陣列。它是正確的? – kiks73

+0

你如何分類檔案? – baldrs

+0

@ kiks73是的,你是對的,編輯。謝謝 – olo

回答

2

strpos是檢查字符串A包含字符串B.這是非常快的正確方法。您可能希望將stripos用於不區分大小寫的匹配。

但是,如果$names是一個數組,您必須迭代它並檢查每個值。

1

如果你只是想製造出來的前3個字母的輸入,你可以很快使用下面的操作:

foreach($names as $name): 
    echo '<input name="', substr($name, 0, 3) ,'" type="text"/>'; 
endforeach; 
+0

我想你必須爆炸原始字符串$ name才能在foreach語句之前構建數組$ name – kiks73

相關問題