我收到此代码的以下错误 -
警告:sort() 期望参数 1 是数组。
$array1 = new ArrayObject();
$array1->append("50");
$array1->append("30");
$array1->append("60");
sort($array1); // Should sort to 30, 50, 60.
任何人都可以创建解决方案吗?
sort()
仅适用于数组。ArrayObject
是一个对象而不是一个数组。
改用 asort 方法 ( $array1->asort();
)
您看到此问题是因为您正在尝试对对象进行排序。尽管它的名字ArrayObject
是一个对象而不是一个数组(参见手册)。
您的选择是:
$array1 = new ArrayObject();
$array1->append("50");
$array1->append("30");
$array1->append("60");
$array1->asort();
或者只使用一个数组
$array1 = array();
$array1[] = "50";
$array1[] = "30";
$array1[] = "60";
sort($array1);
您实际上是在尝试在对象上使用程序函数。
如果您希望使用该sort
函数,则必须将创建数组的方式更改为以下内容:
$array1 = array();
$array1 = array_push(array1, "50");
$array1 = array_push(array1, "30");
$array1 = array_push(array1, "60");
sort(array1);
或者更简单:
$array1 = array("50","30","60");
sort(array1);