我有以下數組,我想使用搜索和排序。搜索和排序就像我們用MySQL「LIKE」條件進行排序,但在數組中不是在數據庫中。在數組中查找類似的條件
Array
(
[4] => Varun Kumar
[14] => Jason Ince
)
與Jason Ince打字'jas'記錄一樣,必須分別用鍵和值以及記錄的其餘部分將其輸出。
我有以下數組,我想使用搜索和排序。搜索和排序就像我們用MySQL「LIKE」條件進行排序,但在數組中不是在數據庫中。在數組中查找類似的條件
Array
(
[4] => Varun Kumar
[14] => Jason Ince
)
與Jason Ince打字'jas'記錄一樣,必須分別用鍵和值以及記錄的其餘部分將其輸出。
你的意思是這樣的:
foreach($yourArr as $key => $value) {
if (strpos($value, $yourString) !== false) {
//results here
}
}
該死的RegEx ..他們寵壞了我!我完全忘了'strpos()' – Adi 2012-07-16 05:43:51
您可以使用array_filter
:
$filtered_array = array_filter($original_array, create_function($a, 'return stristr($a,"jas")!==false'));
,或者,如果你使用PHP 5.3+,語法是:
$filtered_array = array_filter($original_array, function($a){ return stristr($a,"jas")!==false });
function arraySearch($array, $search) {
foreach ($array as $a) {
if(strstr($a, $search)){
echo $a;
}
}
return false;
}
arraySearch(array("php","mysql","search"),"my"); // will return mysql
你也可以用這種方式:
function check($yourString)
{
foreach($yourArr as $key => $value) {
if (strpos($value, $yourString) !== false)
return strpos($value, $yourString);
}
}
這樣你就可以檢查條件是否爲假。
你可以循環訪問數組,並對每個鍵進行strpos比較:值對嗎? – jeschafe 2012-07-16 05:40:56