科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道请问为什么先输出checkInter(3.5)?

请问为什么先输出checkInter(3.5)?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

请问为什么先输出checkInter(3.5)?

作者:csdn 来源:csdn 2009年12月15日

关键字: 问答 PHP MySQL

  • 评论
  • 分享微博
  • 分享邮件

 请问为什么先输出checkInter(3.5)?

PHP code
<?php

 function checkInter($num){
     if ($num>1){
         return checkInter($num-1);
     }else if($num<0){
         return checkInter((-1)*$num=1);
     }else{
         if ($num>0 and $num<1){
             echo "不是整数";
         }else{
             echo "是整数";
         }
     }
 }

 echo "<b>3.5是整数吗?</b>".checkInter(3.5);

?>

 

得到的结果是:
不是整数 <b>3.5是整数吗? </b>
而不是:
<b>3.5是整数吗? </b>不是整数。

 

你用.连接前面( <b>3.5是整数吗? </b>)语句 就等于你echo的成一句话了,它要完成就一句话之后在输出内容,所以先调用了函数之后 才完成了这一句话,才能输出( <b>3.5是整数吗? </b>)
你用,隔开试试,它会先输出后调用

会先执行function ,function中视echo 而不是return。
你可以修改函数中的echo 为return 或者echo " <b>3.5是整数吗? </b>";echo checkInter(3.5);
另外你的这个函数是干吗用的?就是为了判断是否是整数?这样写我觉得很不合理.你可以用 is_int 来判断是否是整数.

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章