PHP SCRIPT » Hướng dẫn sắp xếp tăng dần giảm dần của mảng nhiều phần tử bằng php

Hướng dẫn sắp xếp tăng dần giảm dần của mảng nhiều phần tử bằng php

Bởi administrator | 1069

Chào các bạn hôm nay làm việc gặp ngay bài toán sắp xếp tăng giảm dần theo giá tiền của một phần tử trong mảng bằng php. Sau một hồi search … search và cuối cùng đã tìm ra giải pháp
PHP đã xây dựng sẵn hàm array_multisort()

$inventory = array(
   array("type"=>"fruit", "price"=>3.50),
   array("type"=>"milk", "price"=>2.90),
   array("type"=>"pork", "price"=>5.43),
);

Đề bài như mảng trên cần sắp xếp theo giá giảm dần . Ta làm như sau

$price = array();
foreach ($inventory as $key => $row)
{
    $price[$key] = $row['price'];
}
array_multisort($price, SORT_DESC, $inventory);
//array_multisort(array_column($inventory, 'price'), SORT_DESC, $inventory);

Rồi sau đó các bạn var_dump($inventory); để xem kết quả.

array(3) {
  [0]=>
  array(2) {
    ["type"]=>
    string(4) "pork"
    ["price"]=>
    float(5.43)
  }
  [1]=>
  array(2) {
    ["type"]=>
    string(5) "fruit"
    ["price"]=>
    float(3.5)
  }
  [2]=>
  array(2) {
    ["type"]=>
    string(4) "milk"
    ["price"]=>
    float(2.9)
  }
}

Hướng dẫn lấy các phần từ trùng lặp của 2 mảng và lấy ra giá trị đầu tiên của mảng các phần tử trùng lặp

 // Bài toán lấy ra phần tử trùng lặp của 2 mảng sau
 $list_phan_tram = array(10,20,30,40,50,60,70,80);
 $list_phan_tram_fe = array(50,60,70,80);
// Đầu tiên chúng ta gộp 2 mảng vào 1 ta sử dụng array_merge
$list_merge  = array_merge($list_phan_tram,$list_phan_tram_fe);
//Để lấy ra các phần tử trùng lặp của mảng ta sử dụng câu sau
$arr_duplicate =array_unique( array_diff_assoc( $list_merge, array_unique( $list_merge ) ) );
// Và cuối cùng lấy ra phần tử đầu tiên của mảng trùng lặp
array_shift(array_slice($arr_duplicate, 0, 1)); 

Chúc các bạn thành công !

Hãy like nếu bạn thấy hữu ích

Leave a Reply

Your email address will not be published. Required fields are marked *