PHP DataStructure Handler
This package can manipulate data structures.
Requirement
- 
PHP
 
- 
Composer
 
Installation
Installing this package is very simple, first ensure you have the right PHP version and composer installed then in your terminal/(command prompt) run:  composer require lablnet/dshandler
Feature
 1. Sort multi dimessional array based on column.
 2. Remove  duplicate array base on key
 3. Remove array, base on key:value pair.
 ## TODO
 [ ] Allow to specificy range on remove array:
 - Like we should able to say, remove products below rating 3...
Usage
Consider the following dataset
$products = [
	[
		'id' => 1,
		'name' => 'Test 1',
		'price' => 300,
		'rating' => 4.5
	],
	[
		'id' => 2,
		'name' => 'Test 2',
		'price' => 600,
		'rating' => 4.1
	],
	[
		'id' => 3,
		'name' => 'Test 3',
		'price' => 150,
		'rating' => 3.1
	],
	[
		'id' => 4,
		'name' => 'Test 4',
		'price' => 700,
		'rating' => 5
	],
	[
		'id' => 5,
		'name' => 'Test 5',
		'price' => 900,
		'rating' => 2.9
	],
	[
		'id' => 6,
		'name' => 'Test 5',
		'price' => 265,
		'rating' => 2.9
	]
];
Initialise the classs
require_once "../vendor/autoload.php";
$handler = new Lablnet\DSHandler();
- 
Remove array/products by key:value
//remove array by key:value
$handler->_remove($products, 'rating', 2.9);
echo "<h3>Remove array by key:value</h3><pre>";
print_r($products);
echo "</pre>";
echo "<br>";
 
- 
Remove duplicate array by key
//remove duplicate array by key
$unique = $handler->_unique($products, 'name');
echo "<h3>Remove duplicate value by key</h3><pre>";
print_r($unique);
echo "</pre>";
echo "<br>";
 
- 
Sort the products base on price
//Now sort the products base on price
$sort_1_price = $products;
$handler->_sort($sort_1_price, 'price', SORT_ASC);
echo "<h3>Sort by price ASC</h3><pre>";
print_r($sort_1_price);
echo "</pre>";
echo "<br>";
$sort_2_price = $products;
$handler->_sort($sort_2_price, 'price', SORT_DESC);
echo "<h3>Sort by price DESC</h3><pre>";
print_r($sort_2_price);
echo "</pre>";
echo "<br>";
 
- 
Sort the products based on rating
//Now sort the product base on rating
$sort_1_rating = $products;
$handler->_sort($sort_1_rating, 'rating', SORT_ASC);
echo "<h3>Sort by Rating ASC</h3><pre>";
print_r($sort_1_rating);
echo "</pre>";
echo "<br>";
$sort_2_rating = $products;
$handler->_sort($sort_2_rating, 'rating', SORT_DESC);
echo "<h3>Sort by Rating DESC</h3><pre>";
print_r($sort_2_rating);
echo "</pre>";
echo "<br>";
 
Example
The example file is distrubuted with this package.
License
This package is open-sourced software licensed under the  MIT license.
Questions
If you have any question feel free to ask me
https://www.linkedin.com/in/lablnet/
https://lablnet.github.io/profile