Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在数组中获取特定密钥_Php_Arrays - Fatal编程技术网

Php 如何在数组中获取特定密钥

Php 如何在数组中获取特定密钥,php,arrays,Php,Arrays,我有一个这样的数组 我想知道的是,例如,搜索这个数组中的值9375,然后得到这个键中的其他值 Array ( [0] => Array ( [0] => Afghanistan [1] => 93 [2] => 0.2 [3] => 2015-06-09 ) [1] => Array ( [0] => Afghanistan Cdma Afghan

我有一个这样的数组 我想知道的是,例如,搜索这个数组中的值9375,然后得到这个键中的其他值

Array
(
[0] => Array
    (
        [0] => Afghanistan
        [1] => 93
        [2] => 0.2
        [3] => 2015-06-09
    )

[1] => Array
    (
        [0] => Afghanistan Cdma Afghan Telecom
        [1] => 9375
        [2] => 0.22
        [3] => 2015-03-31
    )

[2] => Array
    (
        [0] => Afghanistan mobile
        [1] => 937
        [2] => 0.158
        [3] => 2015-03-31
    )
我试着这样拿钥匙,但没用

$position=array\u搜索('937',$array)

echo“$array[$position][0]”;
回显“$array[$position][1]”;
回显“$array[$position][2]”;
回显“$array[$position][3]”;

array\u filter非常适合于获取一个大数组并在其中搜索,以返回一个只包含与搜索匹配的值的新数组

$search = 9375;
$result = array_filter(
    $myArray,
    function ($value) use ($search) {
        return in_array($search, $value);
    }
);
如果只在每个子数组的第二个元素中查找搜索键:

$search = 9375;
$result = array_filter(
    $myArray,
    function ($value) use ($search) {
        return $value[1] == $search;
    }
);
$arr=array(数组((0)=>('Afghanistan'),(1)=>(93),(2)=>(0.2),(3)=>(2015-06-09)),
阵列((0)=>('Afghanistan Cdma Afghanistan Telecom'),(1)=>(9375),(2)=>(0.22),(3)=>(2015-03-31)),
数组((0)=>('Afghanistan mobile'),(1)=>(937),(2)=>(0.158),(3)=>(2015-03-31));
$search='93';
foreach($arr作为$value):
如果(在数组中($search,$value)):
回显“$value[0]”;
回显“$value[1]”;
回显“$value[2]”;
回显“$value[3]”;
endif;
endforeach;

@sarikaya您的完整代码,如果您有任何疑问,请告诉我。谢谢你

这可能会有帮助-
array\U search
只搜索顶级数组,不搜索子数组。一旦找到记录,你应该跳出循环。
$search = 9375;
$result = array_filter(
    $myArray,
    function ($value) use ($search) {
        return in_array($search, $value);
    }
);
$search = 9375;
$result = array_filter(
    $myArray,
    function ($value) use ($search) {
        return $value[1] == $search;
    }
);
$arr = array(array((0)=>('Afghanistan'),(1)=>(93),(2)=>(0.2),(3)=>(2015-06-09)),
array((0)=>('Afghanistan Cdma Afghan Telecom'),(1)=>(9375),(2)=>(0.22),(3)=>(2015-03-31)),
array((0)=>('Afghanistan mobile'),(1)=>(937),(2)=>(0.158),(3)=>(2015-03-31)));

$search = '93';

foreach($arr as $value):
if(in_array($search, $value)):

echo "<td>".$value[0]."</td>";
echo "<td>".$value[1]."</td>";
echo "<td>".$value[2]."</td>";
echo "<td>".$value[3]."</td>";

endif;
endforeach;