switch statement using array keys and array values?
arrays, php, switch-statement
Solution
Use `switch($letter)` instead of `switch($char[$letter])`. PHP foreach loop splitted your array as $letter=>A and $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';
}
}
OR
$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;
}
}
Problem
I'm trying to write a script that shows every value in array keys using `switch statement` here's my simple code: ``` <?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'; } } ?> ``` PROBLEM: It won't print the values that has been stored in the array. EXPECTED OUTPUT: if A exist return 01 . . . . . . . and so on. But if the array key contains an empty value it returns 'LETTER D is empty' any help please? thank you