1、请选择以下代码运行的结果:

<?php if ('1e3' == '1000') echo 'LOL'; ?>;

A、无任何输出结果
B、LOL
C、不执行且报错

解析:1e3 是 科学计数法 实数的指数形式 为1乘以10的三次方,故‘1e3’=='1000'是成立的,输出echo ‘LOL’;

2、请选出以下代码运行的结果:

<?php $a = 'aabbzz'; $a++; echo $a; ?>;

A、b
B、aabbzz
C、aabcaa

解析: 字符串字母相加其实就是在末尾字母加一 如:$a = 'a'; $a++;答应结果就是 b,$a='aa';结果就是ab 故$a = 'aabb';打印结果就是 aabc ,如$a = 'aabbz';结果就是 aabca,因为Z是末尾字母故加一变为a,向前一位进一,b就变为c,故结果为C;

3、写出一下程序的输出结果:

<?php
$data = ['a','b','c'];
foreach($data as $k=&gt;$v){
    $v = $data[$k];
}
>;

A、$data = ['a','b','c'];
B、$data = ['b','b','c'];
C、$data = ['b','c','c'];

解析:这里有个考点要记得 就是引用;修改引用变量的值,那么空间的值也会改变,第一次循环 得到$v=$data[0]='a',第二次循环$v=&amp;$data[1]='b',可见第一次引用的$data[0]的值已经被改变,所以此时的$data[0]=b,此时$v引用的$data[1],进入第三次循环 此时$v又变为 $v=&$data[2]='c',,$v又一次改变,引用的$data[1]的值也被改变为C,所以此时的$data[1]=c,这样循环结束 $data[0]='b', $data[1]='c', $data[2]='c',

4、写出一下程序的输出结果:

<?php $a= 0.1; $b = 0.7;if($a+$b ==0.8){ echo true; }else{ echo false; } >;

A、空;
B、true;
C、false;
D、1
E、0;
F、报错

解析:这里的考点有两个:1,echo false和true的值;2、浮点类型不能用于精确计算;首先浮点类型的数据不能用于计算,他会将浮点类型转为二进制,所以有一定的损耗,故它无限接近于0.8,也就是0.79999999...,所以echo 应该是个false;echo false;结果是空;echo true;结果是1;

5、以下表达式的结果是:

<?php
$a= 0;
$b= 0;
if($a= 3>0 || $b= 3>0){
$a++;
$b++;
}
echo $a,$b;

A、报错;
B、1,1;    (要是真的只有两个选项该多好肯定大家都选B)

解析:此题考查的是运算符的优先级问题,首先在此题中比较运算符>逻辑运算符>赋值,所以1,先看 3>0为true,2,因为是||运算所以后面的$b=3>0 形成短路作用,这时的$a=true,$b=0;
  故$a++;为1;$b++;为1这里解释下布尔类型运算不影响布尔类型结果;但是$b=0;$b++;就改变为1, echo true;结果为1,
最后修改:2024 年 11 月 19 日
如果觉得我的文章对你有用,请随意赞赏