PHP - 打开多维数组
PHP - Switch on a multi dimensional array
我尝试对多维数组进行切换:
$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 数组中的值。
但是没有用。我想我已经接近解决方案了,但找不到它(谷歌搜索没有给我更多信息)。谢谢 (:
您在此代码中没有 $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;
}
}
不太懂。
如果 $prefix
= 'value1'
或 'value2'
或 'value3'
....你可以尝试这样的事情:
foreach ($types as $key => $values) {
if (in_array($prefix, $values) )
$type = strtoupper($key);
}
我尝试对多维数组进行切换:
$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 数组中的值。
但是没有用。我想我已经接近解决方案了,但找不到它(谷歌搜索没有给我更多信息)。谢谢 (:
您在此代码中没有 $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;
}
}
不太懂。
如果 $prefix
= 'value1'
或 'value2'
或 'value3'
....你可以尝试这样的事情:
foreach ($types as $key => $values) {
if (in_array($prefix, $values) )
$type = strtoupper($key);
}