PHP在多维数组中搜索项目

| 我目前有这样一个数组设置:
$u_id= array(
    array(
        NUM=>\'2770\', DESC=>\'description one\'
    ), 

    array(
        NUM=>\'33356\', DESC=>\'description two\'
    ), 

    array(
        NUM=>\'13576\', DESC=>\'description three\'
    ),

    array(
        NUM=>\'14141\', DESC=>\'description four\'
    )
);
我需要能够通过此数组将数字传递为
$num
(对应于数组中的NUM => \'\'),并将相应的DESC => \'\'作为字符串存储。例如,搜索\“ 2770 \”将返回\“描述一\”。 这样做的最佳方法是什么?     
已邀请:
        
foreach($arrays as $arr){
  if($arr[\'NUM\']==$num){
    return $arr[\'DESC\'];
  }
}
    
        您是否受限于此数组结构?因为要做一个更有效的结构
$u_id= array(
     \'2770\' => \'description one\',
     \'33356\' => \'description two\',
     \'13576\' => \'description three\',
     \'14141\' => \'description four\'
);
也就是说,您仅假设键是数字,值是描述,而不是明确命名它们。然后,找到正确描述的代码仅为
$u_id[2770]
(或任意值)。 如果不可接受,您也可以
$u_id= array(
    \'2770\' => array(
        NUM=>\'2770\', DESC=>\'description one\'
    ), 

    \'33356\' => array(
        NUM=>\'33356\', DESC=>\'description two\'
    ), 

    \'13576\' => array(
        NUM=>\'13576\', DESC=>\'description three\'
    ),

    \'14141\' => array(
        NUM=>\'14141\', DESC=>\'description four\'
    )
);
即,该数字也用作找到正确对的键。找到正确描述的代码变为
$u_id[2770][\"NUM\"]
。 在这两种情况下,从数字中查找给定的描述都是一个步骤。但是,如果您无法更改数组结构,则必须遍历数组进行检查(这可能需要与数组中的项目一样多的步骤)。     

要回复问题请先登录注册