• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 519
  • Last Modified:

Sorting a multi dimensional array.... case insensitive

Hi all,
I have managed to cobble together a bit of code (SNIPPET 1) to sort a multi dimensional array from php.net
However the sort is case sensitive, so upper case are sorted before lower case.

I also found SNIPPET 2, which is supposed to make the sort case insensitive, but cant work out how to get it working with SNIPPET 1... any ideas?
SNIPPET 1
<?
 
$data[] = array('volume' => 'Adam', 'edition' => 1,'target' => 'pie');
$data[] = array('volume' => 'Eve', 'edition' => 2, 'target' => 'applies');
$data[] = array('volume' => 'Zoozoo', 'edition' => 3, 'target' => 'hope');
$data[] = array('volume' => 'Mika', 'edition' => 4,'target' => 'love');
$data[] = array('volume' => 'Moosha', 'edition' => 5,'target' => 'mope');
$data[] = array('volume' => 'Blk', 'edition' => 6,'target' => 'mash');
 
// Obtain a list of columns
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}
 
// Sort the data with volume descending, edition ascending
// Add $data as the last parameter, to sort by the common key
array_multisort($volume, SORT_ASC, $edition, SORT_ASC, $data);
 
print_r($data);
?> 
 
 
SNIPPET 2
 
<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);
 
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
 
print_r($array);
?>

Open in new window

0
fox_statton
Asked:
fox_statton
1 Solution
 
hernst42Commented:
Try
// Obtain a list of columns
foreach ($data as $key => $row) {
    $volume[$key]  = strtolower($row['volume']);
    $edition[$key] = $row['edition'];
}

Open in new window

0
 
Bruce PieterseTechnical LeadCommented:

// Obtain a list of columns
foreach ($data as $key => $row) {
    $volume[$key]  = ucwords($row['volume']);
    $edition[$key] = $row['edition'];
}

Open in new window

0

Featured Post

Take Control of Web Hosting For Your Clients

As a web developer or IT admin, successfully managing multiple client accounts can be challenging. In this webinar we will look at the tools provided by Media Temple and Plesk to make managing your clients’ hosting easier.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now