为什么排序会失败?

sym*_*ean 7 php sorting

我正在编写一个库例程,其中包括对嵌套数组进行一些相当复杂的排序.

我从文档中看到,所有数组排序函数(包括使用内置比较器的函数)都可以在失败时返回false - 但是什么时候会出现这种情况?

Nea*_*eal 10

当您发送给函数的变量不是数组时,它将失败
示例:

asort('Hello');//fails
asort(array(1,2,35,7,2,8,3));//true
Run Code Online (Sandbox Code Playgroud)

  • @raveline - 也许这就是它应该如何工作,但它并不像那样工作.它确实像maniator所说的那样工作. (4认同)
  • 这应该作为异常处理,而不是返回类型. (2认同)
  • 任何人都可以肯定地确认这是唯一的`sort()`(等)返回FALSE的**条件吗?否则,这个答案很可能会产生误导! (2认同)
  • ...实际上它并不是唯一的条件:例如,如果要排序的某些项本身就是数组,则会失败.请参见此处:http://stackoverflow.com/a/14707486/999120 (2认同)