从php多维数组中获取值
在以下数组中,我将天数作为第一个值,将小时数作为第二个值:从php多维数组中获取值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,在以下数组中,我将天数作为第一个值,将小时数作为第二个值: $myoptions = array ( array("1 day",24), array("2 days",48), array("3 days",72) ); 要从数组中获取第二项,我只需执行以下操作: echo $myoptions[0][1]; // returns 48 那么,如何使用其中一个值来搜索上面的数组索引呢?假设我需要知道数组的小时数='3天。设计该数组可能有更好的方法,但这里有一个函数可以满足您的
$myoptions = array (
array("1 day",24),
array("2 days",48),
array("3 days",72)
);
要从数组中获取第二项,我只需执行以下操作:
echo $myoptions[0][1]; // returns 48
那么,如何使用其中一个值来搜索上面的数组索引呢?假设我需要知道数组的小时数='3天。设计该数组可能有更好的方法,但这里有一个函数可以满足您的要求:
function gethours($x, $myoptions){
foreach($myoptions as $o){
if($o[0] == $x){
return $o[1];
}
}
}
echo gethours('3 days', $myoptions);
如果搜索的列始终相同,则只需查找关联数组并将该列用作数组键即可 您向我们展示的阵列不太可能是您真正想要的 PHP的数组是所谓的关联数组,这意味着您可以使用任何东西对它们进行索引,而不仅仅是数字:
$myoptions = array(
"1 day" => 24,
"2 days" => 48,
"3 days" => 72,
);
所以
或
将直接返回您需要的内容。当然,在实际应用程序中,您需要确保输入与数组的一个索引匹配
事实上,在不知道你想要完成什么的情况下,我们无法做出决定,但在大多数情况下,你确实需要相反的结果:
$myoptions = array(
24 => "1 day",
48 => "2 days",
72 => "3 days",
);
也就是说,您的程序在内部存储和使用数字部分、小时数,并且每当您需要向用户显示它所代表的选项时,您都可以将其转换为人类可读的格式,而不是相反的方式。您可以像下面一样使用
array\u column
echo array_column($myoptions,1,0)['3 days'];//72
$myoptions = array(
24 => "1 day",
48 => "2 days",
72 => "3 days",
);
echo array_column($myoptions,1,0)['3 days'];//72