php 中遇到的基础“奇葩“问题 记录

在日常中php基础知识所遇到的奇葩的或者不容易理解的题,做一个汇总和记录。

1. "a"==0 竟然为 true,偶然发现 字符串 == 0 为真,这是因为 字符串和数字类型比较的时候,因为是 == (松散比较),会为了方便判断会把字符串转成数字类型0,如果是数字字符串 则 直接转换成对应数字类型 如 "5" 会转换成数字 5。

答: 松散比较的类型转换优先级 字符串>数字类型>布尔类型。即 "abc" ==0 转换为 0==0 ;0==false 转换为 false ==false

2. $b++ 的知识题

$b = 0;

        if($b++){ 

                echo '我是先加加'

         }else{

                echo '我是先判断'

        }; 

答:因为$b++是后递增 所以先走判断 然后再++   输出结果  我是先判断

3.$$符的用法(可变变量的用法)

        $a = 'b';

        $b = 7;

        $$a= ?

答:这里考的是可变变量的用法,直接把变量带入就行。 $$a <==>$b 换句话说  $$a中的‘$a’变成了字符串‘b’

4. &符号的作用

$a = 1;

$b = &$a;

echo (++$b)+(++$a);

答:输出 5  在php中 & 符号表示 获取内存地址,在本题中 就表示 将$a的内存地址复制给了$b,可以认为 $a<==>$b。所以$a和$b 任何一个发生变化,另一个也会跟着发生变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值