我有一个数组。
$arrayVar = array(8, 10, 'u'=>24, 'm'=>45, 54, 45);
foreach($arrayVar as $curK=>$curV)
switch($curK)
{
case 'u':
echo $curK; //statement
break;
default:
//statements
}
为什么除了标签与 $curK 的值匹配之外,未指定数组键的所有 $curK 都执行第一种情况下的语句?
我确实尝试通过检查 $curK 的空值来克服这个问题
if(!empty($curK)) {
foreach($arrayVar as $curK=>$curV)
switch($curK)
{
case 'u':
echo $curK; //statement
break;
}
}
...
$arrayVar = array('a'=>8400,'u'=>1100,1300,1400,true);
echo '<pre>'; print_r($arrayVar);
foreach($arrayVar as $curK=>$curDU)
{
echo "\n" . $curK . "\t";
switch($curK)
{
case 'a':
echo 'When a : ' . $curK . "\n";
break;
case 'u':
echo 'When u : ' . $curK . "\n";
break;
default:
}
}
这是我得到的结果
数组([a] => 8400 [u] => 1100 [0] => 1300 [1] => 1400 [2] => 1)
当一个:一个
你当你:你
0 当一个 : 0
1
2
问题出现在 php 分配的密钥 0 上。