Ich habe Probleme beim Abrechnen, das Szenario ist, dass es ein mehrdimensionales Array gibt, in dem Name, ID und Nummer in einem Array, was ich will ist, um das einzigartige Array zu erhalten, in dem Array mit dem gleichen Namen nicht erscheinen sollte, dies kann getan werden, und ich hatte es getan, aber ich möchte auch, dass das Array, das zurückgegeben wird, sollte die niedrigste Zahl enthalten, ich hoffe, dies würde Ihnen helfen, zu verstehen ich habeHolen Sie sich das einzigartige Array von einem Array mit der niedrigsten Nummer
Array(
[0]=>array(
[id]=>1
[name]=>abc
[num]=>4)
[1]=>
array(
[id]=>2
[name]=>efg
[num]=>4)
[2]=>array(
[id]=>3
[name]=>abc
[num]=>2)
)
Nun ist es eine grobe Array-Darstellung, was ich von diesem will, ist
Array(
[0]=>array(
[id]=>3
[name]=>abc
[num]=>2)
[1]=>
array(
[id]=>2
[name]=>efg
[num]=>4)
Was im mit:
code.php
<?php
$details = array(
0 => array("id"=>"1", "name"=>"Mike", "num"=>""),
1 => array("id"=>"2", "name"=>"Carissa", "num"=>"08548596258"),
2 => array("id"=>"1", "name"=>"Mathew", "num"=>"784581254"),
);
function unique_multidim_array($array, $key) {
$temp_array = array();
$i = 0;
$key_array = array();
foreach($array as $val) {
if (!in_array($val[$key], $key_array)) {
$key_array[$i] = $val[$key];
$temp_array[$i] = $val;
}
$i++;
}
return $temp_array;
}
$details = unique_multidim_array($details,'name');
?>
Diese Funktion gibt mir
Array(
[0]=>array(
[id]=>1
[name]=>abc
[num]=4)
[1]=>
array(
[id]=>2
[name]=>efg
[num]=>4)
Sie tun nie ein "dieses aktuelle Element kleiner ist als eine vorherige" -Vergleich . Sie durchlaufen einfach das Array und speichern den zuletzt gefundenen Schlüssel. –
@mastermind, woher kommt '$ details' Array?es hat nicht die gleichen 'Namen' Tasten – RomanPerekhrest
@MarcB ja ich weiß das und ich sagte es in meiner Antwort auch, dass ich nicht scheinen kann, dies herauszufinden .. –