我有一个数组
$data = array(
array(
"engine" => "Gecko",
"browser" => "Firefox 1.0",
"platform" => "2",
"version" => "1.7",
"grade" => "A"
),
array(
"engine" => "SHmeko",
"browser" => "Firefox 1.5",
"platform" => "1",
"version" => "1.8",
"grade" => "B"
)
);
如何按元素搜索? in_array不适合,因为我需要找到所有的匹配, 如果我搜索'k',我需要在元素内容'k'中找到它。
答案 0 :(得分:1)
这应该有所帮助:
$key = array_search('k', $data);
答案 1 :(得分:1)
您的意思是array_search
吗?
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
答案 2 :(得分:1)
你可以尝试这个:
$friends = array( 'Bob', 'Ann', 'Peter' ); // Two persons named 'Bob'
$find = 'Bob';
$key = array_search( $find, $friends ); // Find key of given value
if ($key != NULL || $key !== FALSE) {
unset($friends[$key]); // remove key from array
}
您也可以参考此链接
答案 3 :(得分:0)
如果您尝试在此阵列中搜索特定术语/键,则可以通过以下方式执行此操作:
假设您必须在数组A
中找到$data
:
$key = array_search(‘A’, $data);
此$key
将包含其值为'A'的位置
如果所需的值不是数组的一部分,它将包含FALSE
希望它能解决这个问题。
答案 4 :(得分:0)
也许尝试使用:
array array_filter ( array $input [, callable $callback = "" ] )
使用一个使用preg_match()??
的回调函数答案 5 :(得分:0)
if (isset($_GET['sSearch']) && $_GET['sSearch'] != "") {
foreach ($data as $sort) {
foreach ($sort as $key => $val) {
if (preg_match_all('/' . $_GET['sSearch'] . '/i', $val) != 0) {
$new[] = $sort;
break;
}
}
}
if(isset($new))$data = $new; else $data=0;
}