php顺序查找问题

2024-11-28 22:43:47
推荐回答(4个)
回答1:

!是取反的意思。如果在for循环中找到了,则$flag为true, 出for循环后,继续执行if(!$flag){...}这里将$flag取反,则$flag为false,相当于if(false){...},条件不为真,不执行if内部的语句块。
回到上面,如果在for循环中没有找到数字,则$flag依然为初始值false, 继续执行if(!flag){...},$flag取反为true,进入if里面的语句块,输出 '查询不到'。

回答2:

在计算机编程语言中“!”表示非,即逻辑关系中的否定含义。
如果!0即表示不为0的数;!= 表示不等于。

所以“则$flag还为false,为什么!$flag就会输出呢?"这句话是错的,因为$flag为false,则!$flag为true

回答3:

你好,这类问题很经典;这个$flag你可以理解为标记、标识,像记号一样的,当然我们+上记号肯定是有所作为的,你的这个function的作用就在于找出你要查找的数就OK了,如果一旦找到该数,就无需在做操作了,这个节省了资源,也提高了效率,试想下,如果这个数组10000W条,你去查找一个数,不管它是第一个还是最后一个数,都是按顺序查找,每次都要做10000W次查询。

if(!$flag){
echo '查询不到'.$flag;
}
$flag为false !$flag 就位true了,就进入了echo '查询不到'.$flag;

回答4:

if(!$flag)相当于if($flag==false),这样你该懂了吧