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
数组索引

类似于,在当前示例中,键为41的数组包含
$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.. 
   }
}