php试题网试题-1

11 篇文章 0 订阅

1.查看僵尸进程

ps aux|grep Z

查看一下进程stat的参数有哪些,仅查看一下前十条的结果。

详细介绍一下STAT参数的含义

S休眠状态进程

s主进程包含子进程

<优先级高的进程

N优先级较低的进程

l多进程的

2.php中有哪些错误类型

注意错误(notice)

警告错误(warning)

致命错误(fatal)

语法错误(error)

3.精度计算例题(推荐使用高精度计算函数bcmul,bcdiv,bcadd,bcmode等)

$a = '137.20'; 
$b = intval($a * 100);
$c = intval(strval('137.89') * 100);
$d = intval(bcmul('137.20', 100, 0));
echo $b.','.$c.','.$d;

输出结果:

13719,13788,13720

关键在于浮点数的小数计算时需要转成二进制,会产生除不尽的情况导致就丢了精度。

十进制转二进制,整数部分是除二取整倒排序,小数部分是乘二取整正排序

3.科学计算法参与计算

if ('1e3' == '1000') echo 'OK';

判断结果成立,输出OK

4.对字符串进行自增操作,字符串会增加(如果不是自增,而且“12abc”与与数值相加则为“12”);null支持自增,但不支持自减。

5.switch例题的陷阱

$a = 0;
switch ($a) {
    case $a == 0:
        echo 0;
        break;
    case $a >= 10:
        echo 1;
        break;
    default:
        echo 2;
        break;
}

输出结果是1

陷阱在于,需要用case的结果去跟switche中的值是比较,比较相同才输出。

5.emtpy和魔术方法__isset的先后执行顺序的问题

class Test{
    public function __get($str){
        echo 'access__get::'.$str.'-->';
        return ['fd'=>'hy'];
    }
}
$b = new Test();
//var_dump($b->member); //打印出['fd'=>'hy'];
var_dump(empty($b->member));

正常的思路是输出结果是false,其实不然,输出结果为true

是因为empty最终是执行了isset方法,我增加了isset的魔术方法进行测试。如下:

class Test{
    public function __get($str){
        echo 'access__get::'.$str.'-->';
        return ['fd'=>'hy'];
    }
    public function __isset($str){
        echo 'access__isset::'.$str.'-->';
        return ['hellow'=>'hy'];
    }
}
$b = new Test();
//var_dump($b->member); //打印出['fd'=>'hy'];
var_dump(empty($b->member));
die;

根据结果图就能看到,先执行的__isset魔术方法,然后是__get魔术方法,所以输出是true。

6.错误的eoc格式

$str = >>>EOD
I saw a dog yesterday.
EOD;
echo $str;

输出结果报错,应该是<<<EOD

7.php函数和方法的区别(摘自php中文网)

函数是单独存在的,也就是面向过程部分定义的。
方法是依赖于类存在的,也就是面向对象中定义的。
函数,你可以当做一个算法的实现。
方法,则可以当做一个业务逻辑的实现。
类的方法可以设定访问权限,需要通过对象或者类来调用;函数是公共的,都可以使用。

8.script标签在使用中加入src属性,则标签内的脚本不会执行,哪怕引入的文件是错误的也不会执行。

9.当script标签内使用alert多个数组,并且数组内多个元素,会弹出的第一个数组的最后一个元素的值

10.form表单中变量名里面含义的实心点、空格、加号会被转成下划线

https://www.php.net/manual/zh/language.variables.external.php

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值