1、下面输出$a的值是多少;
~~~
$a=1;
$b=&$a;
$b="2$a";
echo $a;
~~~
> 输出21
2、下面输出${$b}的值是多少;
~~~
$a='b';
$b='a';
echo ${$b};
~~~
> 输出b
3、下面输出值是多少
~~~
$a='123';
echo substr($a,0,-1);
echo substr($a,-1,-1);
~~~
> 12
> 3
4、下面输出什么
~~~
$a='hello_word_china';
$b=[
'hello_',
'_'
];
$c=[
'',' '
];
echo ucwords(str_replace($b,$c,$a));
~~~
> Word China 注意中间空格
>
5、下面输出什么
~~~
var_dump(0123==123);
var_dump('0123'==123);
var_dump('0123'===123);
~~~
> bool(false) // 0123是八进制数 (等于十进制 83) 可以var_dump(0123)看看
> bool(true) // '0123' 字符串 PHP 默认转换为数字开头的
> bool(false)
6、下面输出什么
~~~
echo 3+"15%"+"$25";
~~~
> 18
>
7、下面输出什么?
~~~
$x=null;
if('0xFF'==255){
$x=(int)0xFF;
}
var_dump($x);
~~~
> int(255) //'0xFF'==255 0xFF被隐式转换成八进制0xFF 八进制0xFF转为10进制 等于255
>
8、下面输出222 ,为什么?如何避免这种情况发生?
~~~
$a='abcdefg';
$b='abc';
if(strpos($a,$b)){
$c= 111;
}else{
$c= 222;
}
echo $c;
~~~
> strpos($a,$b) 结果是0, 0为false,应使用if(strpos($a,$b)!==false)
>
- 前言
- 函数参考
- Socket 函数
- socket_accept
- socket_bind
- socket_clear_error
- socket_close
- socket_connect
- socket_create_listen
- socket_create_pair
- socket_create
- socket_getpeername
- socket_getsockname
- socket_last_error
- socket_listen
- socket_read
- socket_recv
- socket_select
- socket_send
- socket_set_block
- socket_set_nonblock
- SplQueue
- 魔术方法
- 魔术常量
- 杂项
- backlog的用处
- new self()和new static()的区别
- PHP变量的生命周期
- PHP抽象类
- 对象接口
- PHP中的常用关键字
- 常量
- 内存泄露
- global 与 $GLOBAL
- 简单说明CGI和动态请求是什么
- 设计模式
- 单例模式
- 工厂模式
- 适配器模式
- 策略模式
- 观察者模式
- 控制反转IoC简介
- session
- use_trans_sid
- auto_start
- session_id
- cookie_secure
- 面试
- 数据库相关
- 语句相关
- 索引相关
- 字段相关
- PHP相关
- 字符串相关
- 函数相关
- 运算符优先级相关
- 错误相关
- redis相关
- 10个常见的Redis面试"刁难"问题
- mysql
- MySQL中的锁
- MySQL存储引擎MyISAM 和 InnoDB的区别
- MySQL半同步复制
- explain 命令详解
- 索引
- 数据库事务
- MySQL和B树的那些事
- git
- github----向开源框架提交pr的过程
- 推荐博客
- linux
- 命令
- free
- 高并发
- 抢购/秒杀功能
- 算法
- 一致性Hash算法