PHP笔试题(11道题)详解

PHP笔试题(11道题)详解

题目一

<?php
echo -10%3;
?>
答案:-1。
考查:优先级。
因为-的优先级比%求余的优先级低,
也就是-(10%3)。

 

 

2

题目二:

print (int)pow(2,32);
答案:0

3

题目三:

//file1.php
<?php
$a = ‘123’;
?>
//file2.php
<?php
echo include(‘file1.php’);
?>
答案:1.
考查:返回值。
因include()也是一个函数,有返回值。
在成功时返回1,失败时返回错误信息。
如果被包含的文件有return,则inculde()
成功时返回该文件的返回值。

4

题目四:

<?php
$count = 5;
function get_count() {

    static $count = 0;
    return $count++;
}
++$count;
get_count();
echo get_count();
?>
答案:1.
考查:static和++。
因static $count,所以只在第一次
调用get_count的时候对$count赋值
为0,第二次再进来这个函数,则不会
第二次赋值。其次就是return $count++
和return ++$count了,前者先返回,
后者先++再返回。

5

题目五:

<?php
$arr= array(0 =>1,’aa’ =>2,3,4);
foreach($arr as $key => $val){

 print($key == ‘aa’ ? 5 : $val);
}
?>
答案:5534.
考查:类型转换。
因遍历数组第一次的时候,$key和aa的比
较实际就是0和aa的比较,一个是int一个
是string,这个时候会转换类型,将字符
串转换为数字再与数字比较。所以0==’aa’
就是0==0,所以为true,也就是输出5。
虽然PHP是若类型语言,但是人家也有类
型的好吗。

6

题目六:

<?php
echo count (false);
$a = count (“567”)  + count(null)
 + count(false);
echo $a;
?>
答案:2.
考查:count的用法。
因count()的官方解释“If the parameter
 is not an array or not an object 
 with implemented Countable 
 interface, 1 will be returned.”.
 意思是说,如果不是数组或者对象的其他
 类型,返回1.那么这个值应该就是1+0+1
 了(boolen人家也是一个类型,虽然是
 讨厌的false)。NULL的意思是没有值,
 难道在计数函数中还能有1?

 

7

题目七:

<?php
$arr = array(1,2,3);
foreach($arr as &$val) {

$val += $val % 2 ? $val++ : $val–;
}
$val = 0;
print(join(”,$arr));
?>
答案:330。

考查:++和&。

因foreach结束后的数组应该是array(3,3,7);最后给第三个元素赋值为0,所以就是330了。其中注意的是&,如果有&则是对原变量操作,如果没有,则是先生成一个新变量,然后给这个变量复制,最后操作的是这个新变量。

8

题目八:

<?php
echo intval((0.1+0.7)*10);
?>
答案:7。
考查:浮点数的概念。
因0.1+0.7=0.8    0.8*10=8  所以转换
 成整数后还是8?错!因为0.1+0.7=0.8是
 浮点数,0.8*10在数学计算中是正整数8,
 可是在计算机中它仍然是浮点数8,什么叫
 浮点数8?每一个看起来像整数的浮点数,
 其实都不是整数,比如这个8,它其实只是
 7.9999循环,无限接近于8,转换成整数会
 舍弃小数部分,就是7喽。

9

题目九:

<?php
ini_set(‘display_errors’,0);
$arr = array(1=>1,3=>3);
$i = 2;
$a = ‘test’ . isset($arr[$i]) ? 
$arr[$i] : $i;
请问$a的值是什么?
A、test B、NULL C、2 D、test2
?>
答案:B。
考查:优先级。
因“.”的优先级高于三元运算符”?:”。所以程
 序其实报错了。会说$arr的索引2不存在。

10

题目十:

<?php
$a = 3;
$b = 5;
if($a = 5 || $b = 7) {

    $a++;
    $b++;
}
echo $a . ” ” . $b;
?>
A、6 8  B、6 6  C、2 6  D、1 6  E、4 6
答案:D。
考查:优先级,基础概念,++。
因“=”的优先级低于“||”,所以先逻辑判断再赋值。
 也就是($a = (5 || $b = 7))。所以,最后
 其实给a赋值了,$a等于1.

11

题目十一:

<?php
$x = 2;
echo $x == 2 ? ‘我’ : $x == 1 ? ‘你’ 
: ‘它’;
?>
输出的结果是()
A、我
B、你
C、它
D、syntax error
答案:B。
考查:优先级。

 因“==”的优先级高于“?:”。我已经不想说为什么了,整理一下这种东西,我感觉要疯了,除了笔试题外估计也不会遇到了吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112980.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java iso8601 PT1M,iso8601

    java iso8601 PT1M,iso8601普通时间转ISO8601格式的时间publicstaticStringgetISO8601TimestampFromDateStr(Stringtimestamp){java.time.format.DateTimeFormatterdtf1=java.time.format.DateTimeFormatter.ofPattern(“yyyy-MM-ddHH:mm:ss”);Loc…

    2022年10月23日
  • java源程序文件扩展名_JAVA源代码的扩展名为( )

    java源程序文件扩展名_JAVA源代码的扩展名为( )展开全部JAVA源代码的扩展名为.java。Java源程序(.java文件)-java字节码文e68a8462616964757a686964616f31333433626462件(.class文件)-由解释执行器(java.exe)将字节码文件加载到java虚拟机(jvm)-字节码文件(.class)就会在java虚拟机中执行。Java的基本包java.lang其中包含有:接口:Compara…

  • SAE J1939协议(一)

    SAE J1939协议(一)SAEJ1939是基于CAN总线的协议,波特率可达250Kbps,是一种传输速率较高的C类通信网络协议。SAEJ1939主要用于卡车、客车等的网络系统控制与通信。

  • Feign原理 (图解)_feign原理

    Feign原理 (图解)_feign原理1.1简介:Feign远程调用的Feign远程调用,核心就是通过一系列的封装和处理,将以JAVA注解的方式定义的远程调用API接口,最终转换成HTTP的请求形式,然后将HTTP的请求的响应结果,解码成JAVABean,放回给调用者。Feign远程调用的基本流程,大致如下图所示。从上图可以看到,Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进而转化成真正的Request请求。通过Feign以及JAVA的动态代理机制,使得Java…

  • 决策引擎上线啦「建议收藏」

    决策引擎上线啦「建议收藏」决策服务基本都涵盖了信用和市场的整个生命周期管理,从客户获取、申请审批、客户管理、催收和欺诈管理等业务应用等等方面。基于这样的需求,决策引擎在此时便孕育而生。目前在风控系统上,决策引擎更是都是非常成熟稳定的模块。

  • Linux下rpm包x86、i386、i486、i586、i686和x86_64这些后缀含义

    Linux下rpm包x86、i386、i486、i586、i686和x86_64这些后缀含义iamlaosong评:虽然rpm包版本很多,不过目前的新机器都可以使用x86_64版本,而且也应该使用这个版本,除非一些特殊场合,比如为了使用一些老版程序。有些功能没有x86_64版本,那也只好用i386了。现在的发行包,一般也就提供i386和x86_64两个版本,即32位版本和64位版本,有些甚至已经不提供i386版本了。1、i386、i586、i686与Noarchi386—几乎所有的X…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号