为了账号安全,请及时绑定邮箱和手机立即绑定

代码没有错误,为什么得到的结果是2000?

<?php

$totalMoney=0;
$basicMoney=2000;
$sex="男";
if ($sex == "男"){
   $totalMoney = $basicMoney + 0;
}else if($sex == "女") {
   $totalMoney = $basicMoney + 300;
}

?>
echo $totalMoney;

正在回答

3 回答

你把$sex的初始值换成"女" 程序输出的$totalMoney=2300;因为第一个if ($sex == "男")的条件为false了所以就不执行{$totalMoney = $basicMoney + 0;} 而else if($sex == "女")的条件为true 所以执行{$totalMoney = $basicMoney + 300;} 最后输出的$totalMoney=2300;

0 回复 有任何疑惑可以回复我~

echo写到了php标签的外面也能输出o_O

0 回复 有任何疑惑可以回复我~

<?php

$totalMoney=0;
$basicMoney=2000;
$sex="男";
if ($sex == "男"){
   $totalMoney = $basicMoney + 0;
}else if($sex == "女") {
   $totalMoney = $basicMoney + 300;
}

?>
echo $totalMoney;


从你的代码来看,你是用了if  .....  else  if  的控制流程语句,

因为你的变量  $totalMoney=0;   和 $basicMoney=2000; 都有了初始值, 而$sex的初始值是“男”

所以你判断性别等于男的话就是说  if ($sex == "男") 为true 程序就会执行  到    $totalMoney = $basicMoney + 0; 而不会执行到else if ($sex == "女"){}里的语句,因为你给的变量$sex初始值为“男”所以 if($sex == "女") 为false  ,    在最后你用echo $totalMoney;因为$totalMoney=0;$basicMoney=2000;  然后$totalMoney = $basicMoney + 0;运算的结果,所以$totalMoney=2000;

0 回复 有任何疑惑可以回复我~
#1

qq_六六_5 提问者

那是不是把$sex=="男" 换成$sex=="女"就能得到结果为2300?
2016-12-29 回复 有任何疑惑可以回复我~
#2

慕侠0027647 回复 qq_六六_5 提问者

你把$sex的初始值换成"女" 程序输出的$totalMoney=2300;因为第一个if ($sex == "男")的条件为false了所以就不执行{$totalMoney = $basicMoney + 0;} 而else if($sex == "女")的条件为true 所以执行{$totalMoney = $basicMoney + 300;} 最后输出的$totalMoney=2300;
2016-12-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码没有错误,为什么得到的结果是2000?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信