问题描述
|
我目前有这样一个数组设置:
$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\"]
。
在这两种情况下,从数字中查找给定的描述都是一个步骤。但是,如果您无法更改数组结构,则必须遍历数组进行检查(这可能需要与数组中的项目一样多的步骤)。