问答详情
源自:6-3 PHP条件结构之if…else if…

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

<?php

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

?>
echo $totalMoney;

提问者:qq_六六_5 2016-12-29 15:47

个回答

  • 慕侠0027647
    2016-12-29 17:21:31
    已采纳

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

  • 幸福是可积的
    2017-01-02 07:53:19

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

  • 慕侠0027647
    2016-12-29 16:12:51

    <?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;