sorting - PHP Array Multisort on Status -
i'm trying multisort db array based on users status. status = 1 go @ top, status = 0 go @ bottom of array. thought had working stopped today addition of new rows db.
uasort($ven, function ($a, $b) { return $a['v_status'] == '1' ? false : true; });
it's simple db array mysql:
array ( [0] => array( [name] => '', [v_status] => 0 [1] => array( [name] => '', [v_status] => 1 )
as mentioned in comments other answer, splitting array active/inactive arrays better solution sorting.
$items = array( array('name' => 'active1', 'active' => '1'), array('name' => 'inactive1', 'active' => '0'), array('name' => 'active2', 'active' => '1'), array('name' => 'inactive2', 'active' => '0'), array('name' => 'inactive3', 'active' => '0'), array('name' => 'active3', 'active' => '1'), array('name' => 'inactive4', 'active' => '0'), ); $active = array_filter($items, function($item){ return $item['active'] == '1'; }); echo '<pre>' . print_r($active,true); // filter again here, not sure quicker, // guess array_diff method (which ensures // no items filtered out both filters) $inactive = array_diff_key($items, $active); echo '<pre>' . print_r($inactive,true);
Comments
Post a Comment