我有以下数组,我想使用搜索和排序。搜索和排序就像排序我们使用MySQL“LIKE”条件,但数组不在数据库中。
Array
(
[4] => Varun Kumar
[14] => Jason Ince
)
与Jason Ince一样输入“jas”记录时,必须分别用键和值以及记录的其余部分来记录。
答案 0 :(得分:8)
你的意思是:
foreach($yourArr as $key => $value) {
if (strpos($value, $yourString) !== false) {
//results here
}
}
答案 1 :(得分:3)
您可以使用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 });
答案 2 :(得分:2)
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
答案 3 :(得分:1)
您也可以这样使用:
function check($yourString)
{
foreach($yourArr as $key => $value) {
if (strpos($value, $yourString) !== false)
return strpos($value, $yourString);
}
}
这样你就可以检查条件是否错误。