このコードで次のエラーが発生します-
警告: 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);