没有这个学生怎么判断

来源:6-16 PHP中结构嵌套之循环结构与条件结构嵌套

友情小爪

2015-07-16 20:28

如果我想判断,如果没有这个学生输出“没有这个学生”,代码又该怎么写呢?

写回答 关注

2回答

  • Dr_苏泊
    2016-03-11 16:51:53
    <?php
     $students = array(
    '2010'=>'令狐冲',
    '2011'=>'林平之',
    '2012'=>'曲洋',
    '2013'=>'任盈盈',
    '2014'=>'向问天',
    '2015'=>'任我行',
    '2016'=>'冲虚',
    '2017'=>'方正',
    '2018'=>'岳不群',
    '2019'=>'宁中则',
    );//10个学生的学号和姓名,用数组存储
    $query = '2013';
    //使用循环结构遍历数组,获取学号和姓名
    foreach($students as $key => $v)
    { 
        //使用条件结构,判断是否为该学号
        if($key == $query)
        { 
            echo $v;//输出(打印)姓名
            break;//结束循环(跳出循环)
        }
        else if($key !== $query){
            echo " not found student num $query"; 
            break;
            
        }
    }
    
    ?>

    结果一直是not found student num XXXX, 不知道是为什么?

    阿_蒂精42...

    if($key !== $query)是循环体foreach内的判断,第一次寻找的是2010的学生, 你的提示语是显示not found student num $query,$query为固定值2014,也就是会出现not found student num 2014。显示完了你又break结束循环。 可以把break去掉,改成 else if($key != $query){ echo " not found student num $query"; echo "<br/>"; } 就能提示找不到2014的学生,直到找到为止

    2016-11-02 16:34:43

    共 1 条回复 >

  • 友情小爪
    2015-07-16 20:33:00

    搞定了,这样对吧:

    $name = "";
    foreach($students as $num => $both){
        if ($num == $query){
            echo $name=$students[$num];
        }
    }
    if(!$name){
        echo "No such student.";
    }


    庄稼

    很棒!

    2015-08-29 18:52:15

    共 1 条回复 >

PHP入门篇

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

455995 学习 · 6306 问题

查看课程

相似问题