Kleinster Schlüssel außer 0!

JesusFreak777

Erfahrenes Mitglied
Hallo Ihr,

ich brauch ne kleine funktion die mir den kleinsten schlüssel aus nen array zurückgibt!

PHP:
function min_key($array, $except = array(0)) {

   return array_keys($array, min($array));  

}

kleinster wert bekomm ich hin! Aber was is wenn der 0 ist...

mein Array könnte etwa so aussehen:

Code:
array(
   0 = 0,
   10 = 7,
   9 = 4,
   8 = 2,
)

in diesen Fall sollte mir jetzt 8 zurückgegeben werden (das muss aber nicht immer zwingend der letzte wert sein)!

Danke
 
Damit bekommst du zumidndest mal den richtigen Key ausgegeben. Ob es noch was besseres/einfacheres gibt bleibt abzuwarten bis sich noch jemand zu Wort meldet.

PHP:
<?php
// das Array mit Schlüssel und Werten
$ar = array(0 => 0, 10 => 7, 9 => 4, 8 => 2);
// die vorhandenen Schlüssel auslesen...
$keys = array_keys($ar);
// ...und sortieren
sort($keys);
// ... und je nachdem ob Key 0 vorhanden ist Wert setzen
if (in_array("0", $keys)) {
	$idx = 1;
} else {
	$idx = 0;
}
// kleinsten Key auslesen...
$min = array_slice($keys, $idx, 1);
// ... und ausgeben
print_r($min);
?>
 
Code:
$a = sort ($array, SORT_NUMERIC);

Code:
$a[0]
sollte demach das kleinste Value oder key haben (gibt bestimmt bessere Lösungen als hier) ;)
 
sort() gibt keinen Array zurück. Lies mal die Doku.

Ich würde das so lösen
PHP:
function min_key($array) {
    unset($array[0]);         //0er Key entfernen
    ksort($array);            //Nach key sortieren
    return key($array);       //Erster Key auslesen
}
 
Zurück