【发布时间】:2018-11-13 14:34:38
【问题描述】:
我想比较 2 个以太地址。
我尝试了修剪、strcmo 和替换空字符。但它不起作用
这是我的代码:
<?php
$a='0x0c656968912fF22c17ABf5E190498034542CC475';
$b='0x0c656968912ff22c17abf5e190498034542cc475';
$a2 = str_replace("\0", "", $a);
$b2 = str_replace("\0", "", $b);
var_dump($a == $b);
var_dump($a2 == $b2);
var_dump(strcmp($a,$b));
var_dump(strcmp($a2,$b2));
看起来上面的所有 var_dump 都应该返回 true(在 strcmp 中为 0),但它们没有! 为什么?! 这是一个错误吗? 我如何比较这个字符串
【问题讨论】:
-
它们是不同的字符串。你有一个大写字母而不是另一个。如果您需要不区分大小写的比较,请查看
strcasecmp()或在两个字符串上应用strtolower()/strtoupper()以使它们的字母相等。 -
两个字符串不相等。第一个包含一些大写字母;第二个没有。
-
@MohammadSalehi 我个人对编程的定义是 99 次失败,然后是 1 次成功,所以继续努力,不要放弃。我向你保证,你以后不会被这种情况所迷惑。
-
这里有一个提示:"A" != "a"
-
我知道这个问题不是一个好问题,我没有删除我的问题,因为我认为有人可能会出现同样的问题。请停止投票