PHP - 打开多维数组

时间:2015-03-20 10:41:55

标签: php arrays multidimensional-array switch-statement case

我尝试在多维数组上进行切换:

$types = array (
'type1' => array('value1', 'value2'),
'type2' => array('value3', 'value4');
...
);

$prefix = substr($number, 0, 4);

foreach ($types as $key => $values) {
    switch ($prefix) {
        case 'type1' :
            $type = 'TYPE1';
            break;
        case 'type2' :
            $type = 'TYPE2';
            break;
        ...
      }
}

$ prefix等于$ types数组中的值。

但它不起作用。我想我接近解决方案,但找不到它(谷歌搜索给了我更多)。谢谢(:

2 个答案:

答案 0 :(得分:0)

此代码中没有$prefix。 试试这个:

$types = array (
    'type1' => array('value1', 'value2'),
    'type2' => array('value3', 'value4')
);


foreach ($types as $key => $values) {
    switch ($key) { // $prefix does not exist (at least not according to this code).
        case 'type1' :
            $type = 'TYPE1';
            break;
        case 'type2' :
            $type = 'TYPE2';
            break;
      }

}

答案 1 :(得分:0)

我不确定理解。
如果$prefix = 'value1''value2''value3' ....您可以尝试以下内容:

foreach ($types as $key => $values) {
    if (in_array($prefix, $values) )
        $type = strtoupper($key);
}