-1

I want to sort this array by product price in ascending order. How can I do this?

Array
(
    [0] => stdClass Object
        (
            [product_id] => 16
            [product_name] => Ferrari 4802
            [product_details] => I know this car is good. Because I have driven this car 10 year.
            [product_quantity] => 1
            [product_price] => 2560
            [shipping_cost] => 1000
            [product_image] => ./admin_assets/image/uploads/product_image/ea28444f93d1fea413c95861bf306fbf.jpg
            [product_details_image] => ./admin_assets/image/uploads/product_details/ea28444f93d1fea413c95861bf306fbf.jpg
            [thumbnails_image] => ./admin_assets/image/uploads/thumbnails/ea28444f93d1fea413c95861bf306fbf.jpg
            [slidder_image] => ./admin_assets/image/uploads/slidders/ea28444f93d1fea413c95861bf306fbf.jpg
            [status] => 1
            [slidder] => 
            [category_id] => 4
        )

    [1] => stdClass Object
        (
            [product_id] => 15
            [product_name] => Laborghini urus
            [product_details] => I know this car is good. Because I have driven this car 10 year.
            [product_quantity] => 2
            [product_price] => 500
            [shipping_cost] => 1000
            [product_image] => ./admin_assets/image/uploads/product_image/68a7eb1c6bf5b3b43f0c3fd4ed143c68.jpg
            [product_details_image] => ./admin_assets/image/uploads/product_details/68a7eb1c6bf5b3b43f0c3fd4ed143c68.jpg
            [thumbnails_image] => ./admin_assets/image/uploads/thumbnails/68a7eb1c6bf5b3b43f0c3fd4ed143c68.jpg
            [slidder_image] => ./admin_assets/image/uploads/slidders/68a7eb1c6bf5b3b43f0c3fd4ed143c68.jpg
            [status] => 1
            [slidder] => 
            [category_id] => 4
        )

    [2] => stdClass Object
        (
            [product_id] => 14
            [product_name] => Laborghini hurican023
            [product_details] => I know this car is good. Because I have driven this car 10 year.
            [product_quantity] => 4
            [product_price] => 50
            [shipping_cost] => 1000
            [product_image] => ./admin_assets/image/uploads/product_image/65e660ef6e3ebcb0773d87c048c93e1b.png
            [product_details_image] => ./admin_assets/image/uploads/product_details/65e660ef6e3ebcb0773d87c048c93e1b.png
            [thumbnails_image] => ./admin_assets/image/uploads/thumbnails/65e660ef6e3ebcb0773d87c048c93e1b.png
            [slidder_image] => ./admin_assets/image/uploads/slidders/65e660ef6e3ebcb0773d87c048c93e1b.png
            [status] => 1
            [slidder] => 
            [category_id] => 4
        )
)
ArK
  • 20,698
  • 67
  • 109
  • 136
Sujon Chondro Shil
  • 105
  • 1
  • 2
  • 10

1 Answers1

0

Because the array is generated by a database query you can easily have the query do the sorting for you.

You don't show your model code but assuming you are using Query Builder (a.k.a. Active Record) you need the following in your model before you execute $this->db->get().

$this->db->order_by('product_price', 'ASC');

Here is some example code showing a full query. It assumes the table is named 'products', you want to select all the table's fields, and you want only a particular 'category_id'.

In the Model file:

public function product_by_category($category)
{
    $query = $this->db
        ->where('category_id', $category)
        ->order_by('product_price', 'ASC')
        ->get('products'); 

    //return all records or NULL if no records are found
    return $query->num_rows() > 0 ? $query->result() : NULL;
}
DFriend
  • 8,869
  • 1
  • 13
  • 26