[英]Question about a php switch
给定下面的数组,我可以为交换机执行此操作吗(在交换机内部使用变量$ cost)?
还是开关($这里需要一个不同的变量)
$cost=array(chocoru =>1, oeenergy =>0.35, lemondew =>0.55, chcmyst =>0.25, drsalty =>0.75);
注意,开关内的$ cost变量与$ cost关联数组相同。
switch($cost)
{
case 1:
echo "You chose lemondew <br />";
echo "the price is".$cost["lemondew"]'<br>';
}
不,您必须使用循环来遍历数组。
foreach($cost as $product => $price)
{
echo "You chose " . $product . "<br />";
echo "the price is" . $price . '<br>';
}
您有一个名为$cost
的变量,它是一个将产品名称映射到其价格的关联数组。 您可以将产品名称用作数组索引,不需要任何其他变量或switch语句:
echo "You chose $product <br />n";
echo "the price is " . $cost[$product] . "<br />n";
它不会工作。 切换需求中的变量必须等于要执行的关联代码的任何大小写值。
switch
语句很像一组if
。 例如:
switch ($var) {
case 1:
$other_var = 6;
break;
case 2:
$other_var = 3;
break;
case 3:
$other_var = 2;
break;
default:
$other_var = 0;
break;
}
在逻辑上等效于:
if ($var == 1) {
$other_var = 6;
}
else if ($var == 2) {
$other_var = 3;
}
else if ($var == 3) {
$other_var = 2;
}
else {
$other_var = 0;
}
您想根据要执行的操作使用其他结构。
不,您必须使用精确变量,即精确给出一个结果的评估变量,可能是$ cost ['chocoru']。 但是在这种情况下,这毫无意义,所以我猜最好的方法是按名称进行切换,例如:
echo "You chose $name <br />";
echo "the price is".$cost[$name].'<br>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.