PHP:如何在数组中搜索?
我有一个如下的数组PHP:如何在数组中搜索?,php,arrays,Php,Arrays,我有一个如下的数组 Array ( [4] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 10 ) [1] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3
Array
(
[4] => Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 10
)
[1] => Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 10
)
[2] => Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
)
[3] => Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
)
)
现在,我有一个变量,假设它是X=10
然后,如何在上面的数组中搜索并获得包含$x
的数组索引
类似于,在当前示例中,键为4和1的数组包含$x
的值
我需要那两个阵列
有什么想法吗??提前感谢。您可以使用
array_search()代码>
文档:您可以循环然后使用
您可以使用仅保留包含所需值的数组:
$array = array(
array(0, 1, 2, 3, 10),
array(0, 1, 2, 3, 10),
array(0, 1, 2, 3),
array(0, 1, 2, 3)
);
$x = 10;
$out = array_filter($array, function($arr) use($x) {
return in_array($x, $arr);
});
print_r($out);
输出:
Array
(
[0] => Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 10
)
[1] => Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 10
)
)
您也可以在数组中使用
$array = array(); // Your array
$x = 10;
$result = array(); // initialize results
foreach ($array as $key => $value) {
if (in_array($x, $value)) {
$result[] = $array[$key]; //
}
}
print_r($result)
您可以使用array_search()函数来搜索数组中的值
链接:
对于Exp:
$x = 10; // search value
$array = array(...); // Your array
$result = array(); // Result array
foreach ($array as $key => $value)
{
if (array_search($x, $value))
{
$result[] = $array[$key]; // push the matched data into result array..
}
}
打印(结果) 你可以在数组中进行迭代。这个想法是,你可以尝试一些东西,并在遇到问题时询问,尽管你的用户名表明了你的努力。@NigelRen,我已经尝试了Bro,但我忘记了付出努力。请注意,array\u search()
可能会返回一个非布尔值,该值的计算结果为false
。为了安全起见,请使用if(数组搜索($x,$value)!==false){
$array = array(); // Your array
$x = 10;
$result = array(); // initialize results
foreach ($array as $key => $value) {
if (in_array($x, $value)) {
$result[] = $array[$key]; //
}
}
print_r($result)
$x = 10; // search value
$array = array(...); // Your array
$result = array(); // Result array
foreach ($array as $key => $value)
{
if (array_search($x, $value))
{
$result[] = $array[$key]; // push the matched data into result array..
}
}