0
A
回答
2
我想大家谁也回答同意的strcmp()是正确的答案,但到目前为止提供的每一个答案,会给你不正确的结果。例如:
echo strcmp("Z", "a");
结果:-1
echo strcmp("z", "A");
结果:1周
的strcmp()被比较的每个字符,而不是在字母的位置的二进制(ORD)位置,如你的愿望。如果你想得到正确的结果(并且我假设你这么做),则在进行比较之前,需要将字符串转换为相同的大小写。例如:
if(strcmp(strtolower($str1), strtolower($str2)) < 0)
{
echo "String 1 comes before string 2";
}
编辑:您还可以使用strcasecmp(),但我倾向于避免因为它表现出的是我还没有花时间去了解多字节字符串行为。如果你总是使用全拉丁字符集,那很可能是好的。
1
那你试试... ...很肯定这个工程
<?php
if(strcmp($var1,$var2) > 0) {
return true;
}
0
您应该使用http://php.net/manual/en/function.strcmp.php
返回< 0如果str1小于str2的;如果str1大于str2,则为0;如果相等,则为0。
所以
return strcmp(var1, var2) > 0 // will return true if var1 is after var2
1
return strcmp($var1,$var2) > 0
?
1
如果您正在比较单个字符,则可以使用ord(string)
。请注意,大写字母值比较小于小写值,因此在比较之前将字符转换为小写。
function earlierInAlphabet($char1, $char2)
{
$char1 = strtolower($char1);
$char2 = strtolower($char2);
if(ord($char1) < ord($char2))
return true;
else
return false;
}
function laterInAlphabet($char1, $char2)
{
$char1 = strtolower($char1);
$char2 = strtolower($char2);
if(ord($char1) > ord($char2))
return true;
else
return false;
}
如果你比较字符串(甚至是一个字符),那么你也可以使用strcasecmp(str1, str2)
:
if(strcasecmp($str1, $str2) > 0)
// str1 is later in the alphabet
0
这种解决方案可能是过度的顶部只有两个变量;但这是永远,如果您需要解决,如果一组变量(2+)会以正确的顺序...
<?php
$var1='Z';
$var2='a';
$array1 = array();
$array[] = $var1;
$array1[] = $var2;
$array2 = sort($array1);
if($array2 === $array1){
return true;
}else{
return false;
}
?>
除此之外,如果你只想要两个变量做这应该工作很好。
<?php
return (strcmp($var1,$var2) > 0);
?>
相关问题
- 1. 比较字母(字母)c
- 2. 比较GPS位置
- 3. 比较bash中的字母
- 4. 打印字符列表中较大的字母的位置
- 5. 如何比较字符串位置?
- 6. SimpleDB - 位置比较选择表达式
- 7. 比较我的GPS位置列表 - android
- 8. 在PHP中按位比较
- 9. 按字母顺序比较字符串
- 10. 比较两个字符串由字母
- 11. iOS比较地理位置
- 12. iOS比较GPS位置
- 13. 比较两个数字的位置表示法
- 14. PHP排序字母比数
- 15. 比较位(一次一个位置)
- 16. 按字母顺序比较字符的数组列表
- 17. 用于UTF8字母的JAVA比较器
- 18. VB.NET - 比较两个字母的代码
- 19. 比较UTF-8字母符号
- 20. ListView按字母顺序无可比较
- 21. 如果用希伯来字母比较
- 22. 没有strcmp()的字母比较?
- 23. 将绘图与字母比较
- 24. Postgresql小写字母比较数据
- 25. 字符串/字符比较与python中的按位比较
- 26. 实时比较您输入的字母的字母
- 27. Python3比较运算,字母匹配字母
- 28. 将字母转换为字母表中的相对位置(R)
- 29. 通过在字母表中的位置生成字母
- 30. 放置比较器的最佳位置
+1“如果你想要正确的结果(我假设你这样做)_”。如果我能,我会给另一个完整/正确的答案。好一个。 – Sepster