fork download
  1. <?php
  2. //the data you supplied. normally just an array
  3. $data = array ( 0 => array ( 'Name' => 'Amber', 'date' => '', 'dealType' => 'deal1', 'id' => '***@***.com', 'registered' => 0, ), 1 => array ( 'Name' => 'Bob', 'date' => '', 'dealType' => 'deal5', 'id' => '***@***.com', 'registered' => 0, ), 2 => array ( 'Name' => 'Hans', 'date' => '', 'dealType' => 'deal3', 'id' => '***@***.com', 'registered' => 0, ), 3 => array ( 'Name' => 'Jeff', 'date' => '', 'dealType' => 'deal2', 'id' => '***@***.com', 'registered' => 0, ), 4 => array ( 'Name' => 'Michael', 'date' => '', 'dealType' => 'deal1', 'id' => '***@***.com', 'registered' => 0, ), );
  4.  
  5. //show what we got going into sort
  6. echo '<pre>'.print_r($data, 1).'</pre>';
  7.  
  8. function cmp($a,$b){
  9. //get which string is less or 0 if both are the same
  10. $cmp = strcasecmp($a['dealType'], $b['dealType']);
  11. //if the strings are the same, check name
  12. if($cmp == 0){
  13. //compare the name
  14. $cmp = strcasecmp($a['Name'], $b['Name']);
  15. }
  16. return $cmp;
  17. }
  18. //sort using a custom function
  19. usort($data, 'cmp');
  20.  
  21. //show what we got after sort
  22. echo '<pre>'.print_r($data, 1).'</pre>';
  23. ?>
Success #stdin #stdout 0.02s 13112KB
stdin
Standard input is empty
stdout
<pre>Array
(
    [0] => Array
        (
            [Name] => Amber
            [date] => 
            [dealType] => deal1
            [id] => ***@***.com
            [registered] => 0
        )

    [1] => Array
        (
            [Name] => Bob
            [date] => 
            [dealType] => deal5
            [id] => ***@***.com
            [registered] => 0
        )

    [2] => Array
        (
            [Name] => Hans
            [date] => 
            [dealType] => deal3
            [id] => ***@***.com
            [registered] => 0
        )

    [3] => Array
        (
            [Name] => Jeff
            [date] => 
            [dealType] => deal2
            [id] => ***@***.com
            [registered] => 0
        )

    [4] => Array
        (
            [Name] => Michael
            [date] => 
            [dealType] => deal1
            [id] => ***@***.com
            [registered] => 0
        )

)
</pre><pre>Array
(
    [0] => Array
        (
            [Name] => Amber
            [date] => 
            [dealType] => deal1
            [id] => ***@***.com
            [registered] => 0
        )

    [1] => Array
        (
            [Name] => Michael
            [date] => 
            [dealType] => deal1
            [id] => ***@***.com
            [registered] => 0
        )

    [2] => Array
        (
            [Name] => Jeff
            [date] => 
            [dealType] => deal2
            [id] => ***@***.com
            [registered] => 0
        )

    [3] => Array
        (
            [Name] => Hans
            [date] => 
            [dealType] => deal3
            [id] => ***@***.com
            [registered] => 0
        )

    [4] => Array
        (
            [Name] => Bob
            [date] => 
            [dealType] => deal5
            [id] => ***@***.com
            [registered] => 0
        )

)
</pre>