php面试题(二)

1

<?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?

2

<?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了。其中注意的是&,如果有&则是对
原变量操作,如果没有,则是先生成一个新变量,然后给这个变量复制,最后操作的是这个新变量。

3

<?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喽。

4

<?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不存在。

5

<?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.

6

<?php
$x = 2;
echo $x == 2 ? '我' : $x == 1 ? '你' : '它';
?>
输出的结果是()
A、我
B、你
C、它
D、syntax error
答案:B。
考查:优先级。
因“=="的优先级高于“?:”。我已经不想说为什么了,整理一下这种东西,我感觉要疯了,除了笔试题外估计也不会遇到了吧。

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2016-06-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序生活

最大连续子序列和

https://blog.csdn.net/bitcarmanlee/article/details/51526010

11720
来自专栏猿人谷

C语言函数指针基础

本文写的非常详细,因为我想为初学者建立一个意识模型,来帮助他们理解函数指针的语法和基础。如果你不讨厌事无巨细,请尽情阅读吧。 函数指针虽然在语法上让人有些迷惑,...

448100
来自专栏大闲人柴毛毛

动态规划法(三)——最长公共子序列

问题描述 给定两个序列,求出它们的最长公共子序列。 如:序列X={a,b,c,b,d,a,b},Y={b,d,c,a,b,a},则X和Y的最长公共子...

38440
来自专栏前端儿

前缀式计算

输入有多组测试数据,每组测试数据占一行,任意两个操作符之间,任意两个操作数之间,操作数与操作符之间都有一个空格。输入的两个操作数可能是小数,数据保证输入的数都是...

17310
来自专栏python3

python random模块

随机输出一个0~4的数字和range()输出的数字,去比较。猜对了,就是字母,否则是数字

9020
来自专栏数据结构与算法

P1062 数列

题目描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,...

31070
来自专栏机器学习从入门到成神

2014百度研发真题及其解析-求比指定数大且最小的“不重复数”

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

15920
来自专栏WD学习记录

牛客网 数组中的逆序对

在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的...

13930
来自专栏数据科学学习手札

(数据科学学习手札02)Python与R在循环语句与条件语句上的异同

循环是任何一种编程语言的基本设置,是进行批量操作的基础,而条件语句是进行分支运算的基础,Python与R有着各自不同的循环语句与条件语句语法,也存在着一些相同的...

27980
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-day04-基础题

Java基础-day04-基础题 1.遍历数组 案例描述 依次输出数组中的每一个元素 获取数值长度:数值名.length eclipse展示 ? 具体实现代码 ...

41490

扫码关注云+社区

领取腾讯云代金券