php并发数据库笔试题 php 并发

PHP应聘笔试题题目一:
?php
echo -10%3;
?
答案:-1 。
考查:优先级 。因为-的优先级比%求余的优先级低,也就是-(10%3) 。
题目二:
print (int)pow(2,32);
答案:0
题目三:
//file1.php
?php
$a = '123';
?
//file2.php
?php
echo include('file1.php');
?
答案:1.
考查:返回值 。因include()也是一个函数,有返回值 。在成功时返回1,失败时返回错误信息 。如果被包含的文件有return,则inculde()成功时返回该文件的`返回值 。
题目四:
?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了,前者先返回,后者先++再返回 。
题目五:
?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是若类型语言,但是人家也有类型的好吗 。
题目六:
?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?
题目七:
?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了 。其中注意的是,如果有则是对原变量操作,如果没有 , 则是先生成一个新变量 , 然后给这个变量复制,最后操作的是这个新变量 。
题目八:
?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喽 。
题目九:
?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不存在 。
题目十:
?php
$a = 3;
$b = 5;
if($a = 5 || $b = 7) {
$a++;
$b++;
}
echo $a . " " . $b;

推荐阅读