Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 ( [0] => Array ( [id] => pencil [label] => blue pencil 123 ) [1] => Array ( [id] => eraser [label] => green eraser 123 ) ) 我知道id(橡皮擦),但我不知道标签(绿色橡皮擦12

我有以下数组:

Array
(
  [0] => Array
      (
          [id] => pencil
          [label] => blue pencil 123
      )
  [1] => Array
      (
          [id] => eraser
          [label] => green eraser 123
      )
)
我知道id(橡皮擦),但我不知道标签(绿色橡皮擦123),如何通过已知的唯一id(橡皮擦)获得标签(绿色橡皮擦123)

我可以在每个元素的循环中执行此操作吗?

尝试以下操作:

$arr = [
    [
        'id'    => 'pencil',
        'label' => 'blue pencil 123',
    ],
    [
        'id'    => 'eraser',
        'label' => 'green eraser 123',
    ],
];

function getLabelFromId ($arr, $id) {
    foreach ($arr as $row) {
        if ($row['id'] == $id) {
            return $row['label'];
        }
    }
    return null;
}

var_dump(getLabelFromId($arr, 'pencil'));
var_dump(getLabelFromId($arr, 'eraser'));
产出:

string(15) "blue pencil 123"
string(16) "green eraser 123"
试试这个:

$arr = [
    [
        'id'    => 'pencil',
        'label' => 'blue pencil 123',
    ],
    [
        'id'    => 'eraser',
        'label' => 'green eraser 123',
    ],
];

function getLabelFromId ($arr, $id) {
    foreach ($arr as $row) {
        if ($row['id'] == $id) {
            return $row['label'];
        }
    }
    return null;
}

var_dump(getLabelFromId($arr, 'pencil'));
var_dump(getLabelFromId($arr, 'eraser'));
产出:

string(15) "blue pencil 123"
string(16) "green eraser 123"

是的,试试Loop是的,试试Loop谢谢你的帮助和回应,你太棒了:)谢谢你的帮助和回应,你太棒了:)