我们在 PHP 中有这个函数
strcmp(string $1,string $2) // returns -1,0, or 1;
我们没有intcmp()函数,因此我创建了一个:
function intcmp($a,$b) {
if((int)$a == (int)$b)return 0;
if((int)$a > (int)$b)return 1;
if((int)$a < (int)$b)return -1;
}
这感觉不太好,你们觉得呢?
这是一部分用于按照传入的排序值对Javascript进行排序的类。
class JS
{
// array('order'=>0,'path'=>'/js/somefile.js','attr'=>array());
public $javascripts = array();
...
public function __toString()
{
uasort($this->javascripts,array($this,'sortScripts'));
return $this->render();
}
private function sortScripts($a,$b)
{
if((int)$a['order'] == (int)$b['order']) return 0;
if((int)$a['order'] > (int)$b['order']) return 1;
if((int)$a['order'] < (int)$b['order']) return -1;
}
....
}
version_compare()
不就可以了吗? - Alix Axelstrcasecmp($a1, $b1) * $factor
,但对于整数,我将不得不使用带有冗长if语句的函数。 - Redzarfreturn $a <=> $b
。或者为了确保比较为整数:return (int)$a <=> (int)$b
。 - ToolmakerSteve