PHP 将 "0"视为空?

标签 php

我遇到了 php 以不同方式处理“0”的问题。

我在两台不同的机器上运行以下脚本:

$a = "0";
if ($a) {
    echo("helo");
}

1) 本地机器 -> PHP 5.2.17 -> 它将“0”视为有效并打印“helo”

2) 服务器 -> PHP 5.3.6 -> 它将“0”视为空/假并且不会打印“helo”

这是由于 php 配置(如果是,是什么配置)或 php 版本?

最佳答案

本来就是这样的。 PHP 在 bool 上下文中解释字符串。 "0" 相当于实际的 0。 (另请参阅 http://www.php.net/manual/en/types.comparisons.php)

您要测试的可能是:

if (strlen($a)) {

关于PHP 将 "0"视为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8601534/

相关文章:

php - 删除字符串中变量的重复项?

php - 在不同的表中显示检索数据

php - PHP MySQL 站点中的西里尔字母编码问题

php - 在 null 上调用成员函数 comments()

php - mysql 结果按数组排序

PHP Docblocks - 解释数组

php - 存储用户上传的文件

javascript - PHP json_encode 函数不适用于 ajax 调用

php - 如何从word文件.doc,docx,.xlsx,.pptx php中提取文本

php - 调整 <img> 的大小导致速度变慢