I was working on a project. I had to do lot of interaction between mysql server and my android app. In that case I got a situation where I get the raw data from database which I need to sort and show on the fly. This data is in multi dimensional array.
I use to get the items data from mysql based on the user id.
$result = mysql_query("SELECT * FROM savedlist where uid='$uid' ") or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$response['products'] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$itemtypes = array();
$itemtypes['id']=$row['pid'];
$result1 = mysql_query("SELECT * FROM items where id='$row[pid]'") or die(mysql_error());
while ($row1 = mysql_fetch_array($result1)) {
$itemtypes['name'] = $row1['name'];
$itemtypes['price']=$row1['price'];
$itemtypes['bay']=$row1['bay'];
}
print_r($itemtypes, true);
// push single product into final response array
array_push($response['products'], $itemtypes);
$bays = array();
foreach ($response['products'] as $bay)
{
$bays[] = $bay['bay'];
}
array_multisort($bays,SORT_ASC, $response['products'] );
}
Here
$response['products'] is a multi dimensional array which I want to sort it based on the BAY. So first I create another array $bays[] based on the bay type. And then sort it using array_multisort()
I used the below function to sort $response['products'] array based on $bays as:
array_multisort($response['products'], SORT_ASC, $bays);
That's it. Happy Coding
No comments:
Post a Comment