データベースにクエリを実行した後、スクリプトの先頭で array_multisort を使用しています。正常に動作します。配列はソートされます。
同じスクリプトの後半で、データベースへの別のクエリの後にもう一度 array_multisort を使用します。この 2 回目の呼び出しの配列は同じ長さですが、最初に使用した配列とは長さが異なります。
error_log に「array_multisort 配列のサイズに一貫性がありません」という警告が表示されます。ある呼び出しから次の呼び出しまで配列が持続しているため、このエラーが発生していますか? もしそうなら、関数をクリーンアップし、2 番目の呼び出しの前に使用された初期配列を削除する方法はありますか?
var_dump の出力を含めたコードの概要を次に示します。
...1st query...
...1st array_multisort use based on the query...
array_multisort($shiftdate, $beg24, $uniquename, $subunit, $unit, $dept, $shiftdetail, $scheduledStaff);
...1st var_dump values based on array_multisort...
array(3) {
[0]=>
array(10) {
["uniquename"]=>
string(3) "Bob"
["shiftdate"]=>
string(10) "2012-08-12"
["subunit"]=>
string(1) "1"
["unit"]=>
string(1) "1"
["dept"]=>
string(1) "1"
["shiftdetail"]=>
string(5) "7a-3p"
["firstname"]=>
string(0) ""
["lastname"]=>
string(0) ""
["email"]=>
string(0) ""
["beg24"]=>
string(4) "7.00"
}
[1]=>
array(10) {
["uniquename"]=>
string(4) "Cara"
["shiftdate"]=>
string(10) "2012-08-12"
["subunit"]=>
string(1) "1"
["unit"]=>
string(1) "1"
["dept"]=>
string(1) "1"
["shiftdetail"]=>
string(5) "7a-3p"
["firstname"]=>
string(0) ""
["lastname"]=>
string(0) ""
["email"]=>
string(0) ""
["beg24"]=>
string(4) "7.00"
}
[2]=>
array(10) {
["uniquename"]=>
string(4) "Ryan"
["shiftdate"]=>
string(10) "2012-08-12"
["subunit"]=>
string(1) "1"
["unit"]=>
string(1) "1"
["dept"]=>
string(1) "1"
["shiftdetail"]=>
string(5) "7a-3p"
["firstname"]=>
string(0) ""
["lastname"]=>
string(0) ""
["email"]=>
string(0) ""
["beg24"]=>
string(4) "7.00"
}
}
...2nd query...
...2nd array_multisort use based on the query...
array_multisort($shiftdate, $beg24, $uniquename, $subunit, $unit, $dept, $shiftdetail, $firstname, $lastname, $email, $scheduledStaffAndThoseWithDetail);
...NOTE: error_log warning occurs at this second array_multisort use...PHP Warning: array_multisort() [<a href='function.array-multisort'>function.array-multisort</a>]: Array sizes are inconsistent...
...2nd var_dump values based on array_multisort...
array(2) {
[0]=>
array(10) {
["uniquename"]=>
string(4) "Ryan"
["shiftdate"]=>
string(10) "2012-08-12"
["subunit"]=>
string(1) "1"
["unit"]=>
string(1) "1"
["dept"]=>
string(1) "1"
["shiftdetail"]=>
string(5) "7a-3p"
["firstname"]=>
string(4) "Ryan"
["lastname"]=>
string(5) "Dobbs"
["email"]=>
string(17) "dobbsr@gmail.com"
["beg24"]=>
string(4) "7.00"
}
[1]=>
array(10) {
["uniquename"]=>
string(4) "Cara"
["shiftdate"]=>
string(10) "2012-08-12"
["subunit"]=>
string(1) "1"
["unit"]=>
string(1) "1"
["dept"]=>
string(1) "1"
["shiftdetail"]=>
string(5) "7a-3p"
["firstname"]=>
string(4) "Cara"
["lastname"]=>
string(6) "Smith"
["email"]=>
string(14) "cara@gmail.com"
["beg24"]=>
string(4) "7.00"
}
}