if (!array_key_exists('B',$a)) { $a['B'] = -1; } itp. mi się nie podoba a nie przychodzi mi teraz nic lepszego do głowy.
Kod
$a = array(
array(
"A" => 1,
"B" => 2,
"C" => 3,
"D" => 4
),
array(
"A" => 6,
"B" => 3,
"D" => 4
),
array(
"A" => 2,
"B" => 5,
"D" => 4
),
array(
"A" => 2
),
array(
"A" => 2,
"B" => 4,
"D" => 4
),
array(
"A" => 1,
"D" => 4
)
);
function cmp($a, $b) {
if (!array_key_exists('B',$a)) {
$a['B'] = -1;
}
if (!array_key_exists('B',$b)) {
$b['B'] = -2;
}
if ($a['B'] == $b['B']) {
return 0;
}
return $a['B'] < $b['B']
}
uasort($a, 'cmp');
array(
"A" => 1,
"B" => 2,
"C" => 3,
"D" => 4
),
array(
"A" => 6,
"B" => 3,
"D" => 4
),
array(
"A" => 2,
"B" => 5,
"D" => 4
),
array(
"A" => 2
),
array(
"A" => 2,
"B" => 4,
"D" => 4
),
array(
"A" => 1,
"D" => 4
)
);
function cmp($a, $b) {
if (!array_key_exists('B',$a)) {
$a['B'] = -1;
}
if (!array_key_exists('B',$b)) {
$b['B'] = -2;
}
if ($a['B'] == $b['B']) {
return 0;
}
return $a['B'] < $b['B']
}
uasort($a, 'cmp');