本文目录一览:
- 1、PHP中如何检测一个值为null的变量是否存在
- 2、PHP的empty()如果是一个不存在的变量,是返回true还是false
- 3、php扩展在全局变量中不存在但是打印phpinfo却存在?
- 4、PHP中判断变量为空的几种方法
PHP中如何检测一个值为null的变量是否存在
PHP 中判断变量是否为 null 可以使用 is_null() 或者 ($var === null) 来判断,至于变量是否存在,由于 null 值会干扰到 isset() 所以只能用捕捉异常来处理。代码如下:
try {
if($var === null ) {
return '变量的值为 null';
}else {
return '变量的值不为 null';
}
}catch (\Exception $exception) {
return '变量不存在';
}
PHP的empty()如果是一个不存在的变量,是返回true还是false
如果判断的变量为空,返回true,如果不为空,返回false
if( !empty( $1) ) {
echo '变量不为空';
}
php扩展在全局变量中不存在但是打印phpinfo却存在?
说明:我本地装的php集成环境MAMP PRO
最近遇到一个比较奇怪的问题,在本地搭建了PHP运行环境,并且安装了相应的PHP扩展 并且在测试页面中通过打印phpinfo能看到所安装的扩展是正常的,但是php -m | grep swoole 没有显示swoole 已经配好了php环境变量
装好了php,php一些常用的扩展后就开始配置php系统环境变量,因为我用的mac book pro 所以配置命令如下
查看环境变量是否OK
以为一切OK的我想试试swoole的性能是否真有官网说的那么厉害于是就准备了一段测试脚本
测试脚本
终端执行
然后奇怪的是swoole的http服务并没有起来 ????
然后查看php错误日志 惊奇!
确定浏览器打印的phpinfo 是有swoole扩展的,而且终端的php跟界面的php是同一个版本的php 百思不解 然后我在终端
结果很意外 终端里面找不到swoole 扩展!!! 可是浏览器里打印有的啊 而且是同一个PHP版本??奇怪了
然后在终端执行 php -i 这个是在终端打印phpinfo
然后对比这个
终端打印phpinfo
浏览器打印phpinfo
是同一个PHP没错了 。。。
然后再对比php.ini引用路径
终端的:
浏览器的
终于找到原因了 两个地方引用的php.ini不一样 于是在终端引用的php.ini同样加上extension = swoole.so即可
PHP中判断变量为空的几种方法
if (isset($obj)) {
echo "This var is set set so I will print.";
}
isset函数是检测变量是否设置。
格式:bool isset ( mixed var [, mixed var [, ...]] )
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节(”\0″)并不等同于 PHP 的 NULL 常数。
警告: isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。