面试题 <?phpif($a=$b){ echo'ok';}else { echo'sorry';}echo count(0);?>不知道大家给的答案是?答对送分(给出理由) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 sorry1因为不知道$a 和$b的值啊 count() 函数计算数组中的单元数目或对象中的属性个数。对于数组,返回其元素的个数,对于其他值,返回 1。 $a=$b 之后再 if($a) $a必然非真count(0) 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。 $a=$b is not $a==$b空=空 if 当然是假 那就是 sorry. 哈。好像就我错了,没测试。刚测试了下。<?php $b=0;if($a=$b) echo "ok.";else echo "sorry";?>执行的是ok;<?php if($a=$b) echo "ok"; else echo "sorry"; ?>执行的是sorry。奶奶的。。强烈建议变量使用前初始化~~~。 <?php $b=0;if($a=$b) echo "ok.";else echo "sorry";?>执行的是ok;----------------------$b=1,执行才能是ok.吧if($a=$b)这个判断式和if($b)没啥区别 <?php$b=1;if($a=$b){echo'ok';}else {echo'sorry';}echo count(0);?> 因为这是错误的答案。正确的是sorry 1 $a = $b 是赋值语句,将$b的值赋给$a,再返回$a,count()函数的参数不是数组都会返回1,因此答案是sorry1 $a与$b都没有赋值,所以sorry 1 你就说你到底不明白啥吧$b = 1;echo $a=$b;//1$b = 0;echo $a=$b;//0所以echo换成if()后结果是啥有什么难懂的东西么? if($a=$b)取决于$b的值,如果$b没被赋值,那if($a=$b)就等于if(false) 答案:sorry 1理由:因为 $b 没有定义,不存在,而你又把变量 $b(一个不存在的值) 赋值给 $a,当然不执行了;而count($array)是统计个数,如果$array是一个数组,就统计数组里的个数,如果是一个值就都输出1 lz怎么还在纠结这个问题呢?if($a=$b)相当于$a = $b;if($a)这两条语句。给你个例子自己运行下结果就知道了。1.<?php $a=$b; var_dump($a);//NUll var_dump($b);//NULL if($a) echo ok;//if(NULL) else echo sorry; ?>2.<?php$b=1; $a=$b;if($a) echo "ok";else echo "sorry";var_dump($a);var_dump($b);?> 但是那个sorry1这个1怎么来的。 count :计算数组中的单元数目或对象中的属性个数,返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元,所以是1<?php $a = 0;echo count($a)."\n";//1$a = 12323;echo count($a)."\n";//1$a = "1232";echo count($a)."\n";//1echo strlen($a)."\n";//4$a = array('ab','cd','ef','as');echo count($a)."\n";//4?> count($var):返回 var 中的单元数目,通常是一个 array,任何其它类型都只有一个单元。 所以count(0) ==1<?php $a = 0;echo count($a)."\n";$a = 12323;echo count($a)."\n";$a = "1232";echo count($a)."\n";echo strlen($a)."\n";$a = array('ab','cd','ef','as');echo count($a)."\n";?> if $a=$b 现在不知道$a $b的值,所以就执行else了,这个是程序的选择执行count(0) 0是一个数字,当然是1了 所以是sorry1 "1" == "01" = true? 页面间的值传递问题。使用$_POST[],但是还是无法传递 IT商业新闻网诚招PHP,SEO技术人员 文件的删除逻辑问题~~救助! 我也问个弱弱的问题:添加修改密码后,phpmyadmin 无法打开。 web系统如何操作外部设备 php登陆 求助! PHP时间问题!!!! 请教一个php文件操作的问题,调试成功就结贴!!! 请问,如何用PHP写页面?先谢了. 求助!PHP使用出现诡异问题!~ Apache php远程访问出现乱码
对于数组,返回其元素的个数,对于其他值,返回 1。
$a=$b 之后再 if($a)
$a必然非真
count(0) 如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。
$a=$b is not $a==$b空=空 if 当然是假 那就是 sorry.
<?php
$b=0;
if($a=$b) echo "ok.";
else echo "sorry";
?>
执行的是ok;<?php
if($a=$b) echo "ok";
else echo "sorry";
?>
执行的是sorry。
奶奶的。。
强烈建议变量使用前初始化~~~。
$b=0;
if($a=$b) echo "ok.";
else echo "sorry";
?>
执行的是ok;
----------------------
$b=1,执行才能是ok.吧
if($a=$b)这个判断式和if($b)没啥区别
$b=1;
if($a=$b)
{
echo'ok';
}else {
echo'sorry';
}
echo count(0);
?>
正确的是
sorry 1
$b = 1;
echo $a=$b;//1$b = 0;
echo $a=$b;//0
所以echo换成if()后结果是啥有什么难懂的东西么?
理由:因为 $b 没有定义,不存在,而你又把变量 $b(一个不存在的值) 赋值给 $a,当然不执行了;而count($array)是统计个数,如果$array是一个数组,就统计数组里的个数,如果是一个值就都输出1
给你个例子自己运行下结果就知道了。1.
<?php
$a=$b;
var_dump($a);//NUll
var_dump($b);//NULL
if($a) echo ok;//if(NULL)
else echo sorry;
?>
2.
<?php
$b=1;
$a=$b;
if($a) echo "ok";
else echo "sorry";
var_dump($a);
var_dump($b);
?>
$a = 0;
echo count($a)."\n";//1$a = 12323;
echo count($a)."\n";//1$a = "1232";
echo count($a)."\n";//1
echo strlen($a)."\n";//4$a = array('ab','cd','ef','as');
echo count($a)."\n";//4
?>
$a = 0;
echo count($a)."\n";$a = 12323;
echo count($a)."\n";$a = "1232";
echo count($a)."\n";
echo strlen($a)."\n";$a = array('ab','cd','ef','as');
echo count($a)."\n";
?>
count(0) 0是一个数字,当然是1了 所以是sorry1