按2自定义顺序对php数组进行排序

时间:2017-03-12 19:21:36

标签: php arrays sorting usort

使用2个自定义顺序排序对php数组进行排序的最佳方法是什么:

$valueOrder = array('dev1', 'com', 'check', 'data');
$titleOrder = array('title4', 'title7', 'title3', 'title9');
$array = array(
    array('value' => 'com', 'title' => 'title7'),
    array('value' => 'dev1', 'title' => 'title9'),
    array('value' => 'dev1', 'title' => 'title7'),
    array('value' => 'data', 'title' => 'title4'),
);

我喜欢这个解决方案,但它仅适用于一个客户订单:

usort($array, function ($a, $b) use ($valueOrder) {
    $pos_a = array_search($a['value'], $valueOrder);
    $pos_b = array_search($b['value'], $valueOrder);
    return $pos_a - $pos_b;
});

var_dump($array);

使用$ valueOrder和$ titleOrder可以使用相同的解决方案???

1 个答案:

答案 0 :(得分:0)

在用户定义的自定义排序功能中,您可以按值比较项目,如果该值相同,则按标签进行比较。但是,您应该知道fig, axes = plt.subplots(nrows=2, ncols=1, figsize=(12, 4)) df[["A","B"]].plot(ax=axes[0]) df["B"].plot(kind="bar", ax=axes[1]); 返回array_search以防万一找不到针,因此算术运算不会将FALSEFALSE区分开来。

ZERO