Des*_*iny 1 php arrays switch-statement
我想编写一个脚本,显示每个值在数组中的键使用switch statement,这里是我简单的代码:
<?php
$char = array('A'=>'01', 'B'=>'02', 'C'=>'03', 'D'=>null);
foreach($char as $letter => $number)
{
switch($char[$letter])
{
case 'A':
echo $number;
break;
case 'B':
echo $number;
break;
case 'C':
echo $number;
break;
case 'D':
echo $number;
break;
default:
echo 'LETTER '.$letter.' is empty';
}
}
?>
Run Code Online (Sandbox Code Playgroud)
问题:
它不会打印已存储在数组中的值.
预期产量:
如果A存在则返回01.......等等.但是如果数组键包含空值,则返回'LETTER D为空'
有什么帮助吗?谢谢
用 switch($letter) 而不是switch($char[$letter]).PHP foreach循环将您的数组拆分为$ letter => A和$ number => 01
$char = array('A'=>'01', 'B'=>'02', 'C'=>'03', 'D'=>null);
foreach($char as $letter => $number)
{
switch($letter)
{
case 'A':
echo $number;
break;
case 'B':
echo $number;
break;
case 'C':
echo $number;
break;
case 'D':
if($number=='' || is_null($number)){
echo 'LETTER '.$letter.' is empty';
}else{
echo $number;
}
break;
default:
echo 'LETTER '.$letter.' is empty';
}
}
Run Code Online (Sandbox Code Playgroud)
要么
$char = array('A'=>'01', 'B'=>'02', 'C'=>'03', 'D'=>null);
foreach($char as $letter => $number)
{
CheckNumber($letter, $number);
}
function CheckNumber($letter, $number){
if($number=='' || is_null($number)){ // add whatever condition you want to check
echo 'LETTER '.$letter.' is empty';
}else{
echo $number;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14587 次 |
| 最近记录: |