php - 如何對這樣的陣列進行排序 求教
怪我咯
怪我咯 2017-05-16 13:07:13
0
6
375

**

依content2排序

**

array(5) {
  [0]=>
  array(2) {
    ["id"]=>
    string(1) "2"
    ["content2"]=>
    string(2) "XL"
  }
  [1]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["content2"]=>
    string(1) "L"
  }
  [2]=>
  array(2) {
    ["id"]=>
    string(1) "3"
    ["content2"]=>
    string(3) "XXL"
  }
  [3]=>
  array(2) {
    ["id"]=>
    string(1) "4"
    ["content2"]=>
    string(1) "L"
  }
  [4]=>
  array(2) {
    ["id"]=>
    string(1) "5"
    ["content2"]=>
    string(2) "XL"
  }
}
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(6)
阿神

PHP多維數組排序array

/**
* Sort array by filed and type, common utility method.
* @param array $data
* @param string $sort_filed
* @param string $sort_type SORT_ASC or SORT_DESC
*/
public function sortByOneField($data, $filed, $type)
{
    if (count($data) <= 0) {
        return $data;
    }
    foreach ($data as $key => $value) {
        $temp[$key] = $value[$filed];
    }
    array_multisort($temp, $type, $data);
    return $data;
}
習慣沉默

雷雷

刘奇

衣服尺寸沒什麼規律吧 是不是應該在插入庫裡的時候按照某種特定順序編號 取出來的時候再排序

刘奇

寫個冒泡排序不就得了。
至於 L

也可以用 usort 來自訂排序邏輯。參考:

http://php.net/manual/zh/func...

小葫芦
<?php 
$list = [
    ['id'=>1,'content'=>'L'],
    ['id'=>2,'content'=>'XL'],
    ['id'=>3,'content'=>'XXL'],
    ['id'=>4,'content'=>'M'],
    ['id'=>5,'content'=>'LM'],
    ['id'=>6,'content'=>'XXXL'],
];

$size = [
    'XXXL' => 1,
    'XXL' => 2,
    'XL' => 3,
    'L' => 4,
    'M' => 5,
    'LM' => 6,
];

$temp = array();
foreach ($list as $key => $val) {
    $temp[$size[$val['content']]] = $val;
}
// print_r($temp);die;

ksort($temp); // 从低到高  krsort 从高到低
print_r($temp);
?>

隨便寫了一下,不知道你要的是不是這個樣子。

淡淡烟草味

雷雷

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板