我想“数字地”比较两个字符串。我的意思是喜欢2C
小于11A
。我试过这个,它不工作:
if("2A" < "11A"){
echo "First corect";
}
if(strcmp("2A", "11A") < 0){
echo "Last corect";
}
echo "Tests completed";
您正在寻找strnatcmp
(或其不区分大小写的兄弟,strnatcasecmp
)。
这会将您输入的数字部分作为数字(将“2whatever”放在“11whatever”之前)和文本部分作为文本(将“2a”放在“2b”之前)进行比较。
试试这样:
if((int) '2A' < (int) '11A'){
echo "First correct";
}
你也可以看看: http: //php.net/manual/en/function.intval.php
if(intval(0x2A) < intval(0x11A)){
echo "First corect";
}
else
{
echo "Tests incompleted";
}
试试这个代码
编写一个函数:
<Object>
,其中每个对象可以是字符串或整数,整数是从非数字之间的连续数字字符串创建的,字符串是任意 2 个数字之间的连续非数字。Nth elements
列表中两者相等,则继续比较N+1th elements
,否则return t/f
基于整数到整数或字符串到字符串的比较。