我有一个看起来像这样的对象数组,请注意,create_time已通过MYSQL对它们进行了排序:
array (size=5)
0 =>
object(stdClass)[38]
public 'vacancy_id' => int 5
public 'title' => string 'test title' (length=10)
public 'create_time' => string '2018-10-05 11:15:34' (length=19)
public 'language_iso' => string 'NL' (length=2)
1 =>
object(stdClass)[42]
public 'vacancy_id' => int 9
public 'title' => string 'test title 5' (length=12)
public 'create_time' => string '2018-08-05 11:15:34' (length=19)
public 'language_iso' => string 'EN' (length=2)
2 =>
object(stdClass)[40]
public 'vacancy_id' => int 7
public 'title' => string 'test title 3' (length=12)
public 'create_time' => string '2018-08-05 11:15:34' (length=19)
public 'language_iso' => string 'FR' (length=2)
3 =>
object(stdClass)[39]
public 'vacancy_id' => int 6
public 'title' => string 'test title 2' (length=12)
public 'create_time' => string '2018-06-05 11:15:34' (length=19)
public 'language_iso' => string 'FR' (length=2)
4 =>
object(stdClass)[41]
public 'vacancy_id' => int 8
public 'title' => string 'test title 4' (length=12)
public 'create_time' => string '2018-02-05 11:15:34' (length=19)
public 'language_iso' => string 'NL' (length=2)
在我的页面上,我正在实现排序功能。 (目前)有4种排序选项:
在上面给出的数组示例中,假设我要按“ FR语言iso”进行排序。这意味着我希望我的结果集看起来像这样:
array (size=5) 0 => object(stdClass)[40] public 'vacancy_id' => int 7 public 'title' => string 'test title 3' (length=12) public 'create_time' => string '2018-08-05 11:15:34' (length=19) public 'language_iso' => string 'FR' (length=2) 1 => object(stdClass)[39] public 'vacancy_id' => int 6 public 'title' => string 'test title 2' (length=12) public 'create_time' => string '2018-06-05 11:15:34' (length=19) public 'language_iso' => string 'FR' (length=2) 2 => object(stdClass)[38] public 'vacancy_id' => int 5 public 'title' => string 'test title' (length=10) public 'create_time' => string '2018-10-05 11:15:34' (length=19) public 'language_iso' => string 'NL' (length=2) 3 => object(stdClass)[42] public 'vacancy_id' => int 9 public 'title' => string 'test title 5' (length=12) public 'create_time' => string '2018-08-05 11:15:34' (length=19) public 'language_iso' => string 'EN' (length=2) 4 => object(stdClass)[41] public 'vacancy_id' => int 8 public 'title' => string 'test title 4' (length=12) public 'create_time' => string '2018-02-05 11:15:34' (length=19) public 'language_iso' => string 'NL' (length=2)
因此,在此示例中,结果必须包含:
我已经在php的usort函数中使用自定义函数完全空白了。
我有一个看起来像这样的对象数组,请注意,它们已经由create_time通过MYSQL进行了排序:array(size = 5)0 => object(stdClass)[38] public'vacancy_id'=> int 5 .. 。
您可以(可能应该)完全从MySQL处理此排序要求: