Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.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,我的数组如下所示: array(2) { [0]=> &array(2) { [0]=> string(3) "Key" [1]=> string(4) "0040" } [1]=> array(2) { [0]=> string(4) "key2" [1]=> string(9) "transpor

我的数组如下所示:

array(2) {
  [0]=>
  &array(2) {
    [0]=>
    string(3) "Key"
    [1]=>
    string(4) "0040"
  }
  [1]=>
  array(2) {
    [0]=>
    string(4) "key2"
    [1]=>
    string(9) "transport"
  }
}
我试图获得“传输”,但我唯一的价值是“键2”

我试过使用in_数组等,但所有这些示例都使用$key=>$value结构

我需要使用这种数组格式,因为我调用的api需要这样的数组格式


谢谢

您可以循环并查找值

这里找到了第一个鲍勃的年龄

<?php

$people =
[
    ['Bob', '76'],
    ['Allison','52']
];

$result = null;
foreach($people as list($name, $age)) {
    if($name == 'Bob') {
        $result = $age;
        break;
    }
}

var_dump($result);
您可以使用
array\u column
帮助构建一个地图,这里是年龄的名称

$name_age = array_column($people, 1, 0);
var_export($name_age);
echo $name_age['Allison'];
输出:

string(2) "76"
array (
    'Bob' => '76',
    'Allison' => '52',
)52
76
或者只是:

echo array_column($people, 1, 0)['Bob'];
输出:

string(2) "76"
array (
    'Bob' => '76',
    'Allison' => '52',
)52
76
一个循环将用于构造一个映射,类似于上面的$name\u age示例:

foreach($people as $person) {
    $name_age[$person[0]] = $person[1];
}

注意:当使用数组列或循环构建映射时,如果有多个Bob,值将被以后发生的事件覆盖。

您可以循环并查找值

这里找到了第一个鲍勃的年龄

<?php

$people =
[
    ['Bob', '76'],
    ['Allison','52']
];

$result = null;
foreach($people as list($name, $age)) {
    if($name == 'Bob') {
        $result = $age;
        break;
    }
}

var_dump($result);
您可以使用
array\u column
帮助构建一个地图,这里是年龄的名称

$name_age = array_column($people, 1, 0);
var_export($name_age);
echo $name_age['Allison'];
输出:

string(2) "76"
array (
    'Bob' => '76',
    'Allison' => '52',
)52
76
或者只是:

echo array_column($people, 1, 0)['Bob'];
输出:

string(2) "76"
array (
    'Bob' => '76',
    'Allison' => '52',
)52
76
一个循环将用于构造一个映射,类似于上面的$name\u age示例:

foreach($people as $person) {
    $name_age[$person[0]] = $person[1];
}

注意:当使用数组列或循环构建映射时,如果有多个Bob,值将被以后发生的事件覆盖。

请向我们展示您的尝试。您可能比您预期的更接近解决方案,即使您仍然无法使用更奇特的数组函数,通过简单地循环数据来实现这一点应该是一个简单的练习。请告诉我们您尝试了什么。您可能比预期的更接近解决方案,即使您仍然无法使用更奇特的数组函数,通过简单地在数据上循环来实现这一点应该是一个简单的练习。