私はオブジェクトの配列を返す関数を持っています。 「イベント番号1」は、上の最初のものであるように関数内のプロパティ値によるオブジェクトの配列の並べ替え
Array
(
[0] => WP_Post Object
(
[ID] => 14
[metadata] => Array
(
[post_title] => Event number 3
[starttime] => 24.11.2019
[endtime] => 25.11.2019
)
)
[1] => WP_Post Object
(
[ID] => 13
[metadata] => Array
(
[post_title] => Event number 1
[starttime] => 19.1.2017
[endtime] => 20.1.2017
)
)
[2] => WP_Post Object
(
[ID] => 10
[metadata] => Array
(
[post_title] => Event number 2
[starttime] => 19.1.2018
[endtime] => 20.1.2018
)
)
)
は、どのように私はプロパティ「終了時刻」で配列をソートすることができます。これは、これはそうのようなオブジェクトの配列を返します
public function myFunction() {
$args = [
'post_type' => 'post',
];
$data = \WordPress\Query::get_posts($args);
$now = time();
foreach ($data as $key => $datas) {
$eventTime = $datas->endtime;
$eventTimeStr = strtotime($eventTime);
if ($eventTimeStr < $now) {
unset($data[$key]);
}
}
return $data;
}
私の関数でありますリストと "イベント番号2"秒など?
私はmyFunction()内でusort-functionを使用しようとしましたが、成功することはできませんでした。 myFunction()の外に別の関数を作成し、そこから$ data-variableにアクセスする必要がありますか?もしそうなら、どうですか?
myFunction()では、日付をUnixタイムスタンプにフォーマットしました。私はおそらくそれを使用する必要がありますか?
* usort-function *を使用してみました* - コードを表示 – splash58
データベースからデータを取得する際に(endtime)注文することができますので、配列はこの順序付けられたデータで埋められます。あなたはそれを試しましたか? –
[オブジェクトフィールドによるオブジェクトの配列の並べ替え]の可能な複製(https://stackoverflow.com/questions/4282413/sort-array-of-objects-by-object-fields) – yivi