php - UTF8 字符串上的 == 安全吗?

标签 php mysql string comparison

我需要根据字符串比较在循环中获取一些元素,我考虑的问题是 UTF8。

通过 == 比较可以包含 UTF8 字符的字符串是否安全?还是通过数据库引擎做一些额外的 SQL 查询更好?

我已经用 PHP 进行了测试,看起来不错,但我想确认一下。

// if $_GET['city'] is "Łódź" the result is ==.
$city = 'Łódź';
if (isset($_GET['city']) && strtolower($_GET['city']) == strtolower($city)) {
    echo '==';
}

最佳答案

当您比较 2 个字符串时,===== 之间几乎没有区别。

如果您不比较存储为字符串的数字,就可以了。

不同结果的示例:

var_dump('01' === '1'); // false
var_dump('01' == '1'); // true

关于php - UTF8 字符串上的 == 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147181/

相关文章:

php - Debian Linux、PHP、Apache 和 MySQL 上的 CodeIgniter 和 WordPress 应用程序的升级过程

C++ 将包含二进制数据的 std::string 转换为 char*

java - 如何查找列表中每个单词的字符数? ( java )

php - 在 phpMyAdmin 中启用 "mysql_clear_password"插件

php - 学习如何从MYSQL读取数据

mysql - 为什么 Sequel Pro 在命令行中显示的表键值结果与 MySQL 不同?

php - Codeigniter 3 中的 mysql 查询

c++ - 将调用推送到 STL 队列 <std::string> 会在从套接字读取字符串时导致段错误

php - MySQL 更新有什么问题吗? UPDATE 有什么具体内容吗?

php - 使用带变量的 preg_replace 获取数据库记录