我有一个数组...
$arrays = array(
'image' => array('jpg','jpeg','png'),
'document' => array('pdf','docx','pptx'),
);
这是我的扩展变量
$ext = 'jpg';
我想要实现的是,使用此变量$ext
我需要循环并比较多维$arrays
中的哪些键和最终输出返回给我image
目前我得到的解决方案是使用2个foreach循环来循环播放匹配:
$type = null;
foreach($arrays as $key=>$arr)
{
foreach($arr as $k=>$a)
{
if($a==$ext)
{
$type = $key;
}
}
}
echo $type;
我是PHP初学者&想知道,PHP数组函数是否有更好的解决方案来获取带有值的多维数组中的Key而不是循环它?
答案 0 :(得分:1)
您可以创建一个自定义函数,它会返回预期的结果,通过创建函数,您可以多次使用它,如下所示: -
function getDataType($ext, $typesArray)
{
foreach ($typesArray as $key => $types) {
if (in_array($ext, $types)) {
return $key;
}
}
}
$arrays = array(
'image' => array('jpg','jpeg','png'),
'document' => array('pdf','docx','pptx'),
);
$ext = 'jpg';
echo getDataType($ext, $arrays);