私は重複した質問をたくさん見ました。重複した質問で本当に申し訳ありません。正しい解決策が見つからないか、正しいロジックが得られない可能性があります。私はすでにこれらのためにusort()を使いました。 私は以下の配列を持っています。 currenNameが空白の場合2d配列をPHPのサブ値で比較して並べ替えます
Array
(
[0] => stdClass Object
(
[id] => 808
[ScreenName] => Dispatch
[OriginalName] => First Unit on Scene
[OriginalPrintName] => First Unit on Scene
[CurrentName] => Blank
)
[1] => stdClass Object
(
[id] => 809
[ScreenName] => Dispatch
[OriginalName] => EMS Agency
[OriginalPrintName] => EMS Agency
[CurrentName] => Blank
)
[2] => stdClass Object
(
[id] => 597
[ScreenName] => Dispatch
[OriginalName] => Date
[OriginalPrintName] => Date
[CurrentName] => Date
)
[3] => stdClass Object
(
[id] => 509
[ScreenName] => Dispatch
[OriginalName] => Incident #
[OriginalPrintName] => Incident #
[CurrentName] => Incident #
)
[4] => stdClass Object
(
[id] => 758
[ScreenName] => Dispatch
[OriginalName] => Run# /Call #
[OriginalPrintName] => Run#
[CurrentName] => Run Call
)
)
すべてCurrentNameを、リストには以下の条件
if (($y2->CurrentName == "") || ($y2->CurrentName == "Blank")) {
print $y2->OriginalName ;
} else {
print $y2->CurrentName ;
}
を使用して印刷することにより
しかし 、その後ORIGINALNAMEにこれらのような
何かを印刷します。
Date
Incident #
Run Call
Type Of Service Req
Complaint Reported
Response Urgency
Location Type
Address Type
Address
Address Cont
私はalbhabeticallyソートされたこれらのリストを表示したいです。 マイusort()関数はすべてのためにどこかではなく、作業
usort($yvals, function ($elem1, $elem2) {
if (($elem1->CurrentName == "" || $elem1->CurrentName == "Blank") && ($elem2->OriginalName == "" || $elem2->OriginalName == "Blank")) {
return strcmp($elem1->OriginalName, $elem2->OriginalName);
}else if(($elem1->CurrentName != "" || $elem1->CurrentName != "Blank") && ($elem2->CurrentName == "") || ($elem2->CurrentName == "Blank")){
return strcmp($elem1->CurrentName, $elem2->OriginalName);
}else{
return strcmp($elem1->CurrentName, $elem2->CurrentName);
}
});
そのです。
現在の出力とは何か、予想される出力は何ですか?人々があなたが持っている問題を理解できるように、単に「働かない」以上の詳細を追加してください。 –
何を得ようとしていますか? – hassan
入力と出力を表示してください – calexandre