14 Stimmen

Den Schlüssel des einzigen Elements in einem PHP-Array erhalten

Der Schlüssel des assoziativen Arrays wird dynamisch generiert. Wie kann ich den "Key" eines solchen Arrays erhalten?

$arr = array ('dynamic_key' => 'Wert');

Ich bin mir bewusst, dass es möglich ist, darauf durch eine foreach-Schleife wie folgt zuzugreifen:

foreach ($arr as $key => $val) echo "Der Schlüsselwert ist $key";

Ich weiß jedoch, dass dieses Array nur einen Schlüssel haben wird und möchte eine foreach-Schleife vermeiden. Ist es möglich, auf die Wert dieses Elements auf andere Weise zuzugreifen? Oder den Namen des Schlüssels zu erhalten?

15voto

VolkerK Punkte 93746

Edit: http://php.net/each sagt:

each

Warnung Diese Funktion wurde ab PHP 7.2.0 DEPRECATED. Es wird dringend davon abgeraten, sich auf diese Funktion zu verlassen.


Die Verwendung von key() ist in Ordnung.
Wenn Sie den Wert sowieso abrufen möchten, können Sie auch each() und list() verwenden.

$arr = array ('dynamic_key' => 'Value');
list($key, $value) = each($arr);
echo $key, ' -> ', $value, "\n";

gibt dynamic_key -> Value aus

0 Stimmen

Ein kleiner Fehler. Letzte Zeile sollte sein: echo $key. ' -> '. $value. "\n"; statt echo $key, ' -> ', $value, "\n"; (Punkte, keine Kommas).

4 Stimmen

PolGraphic: "Die letzte Zeile sollte sein" - nein, sollte es nicht. Es gibt keinen Bedarf für eine Verkettung dort. Sie können eine praktisch unbegrenzte Anzahl von kommagetrennten Argumenten an echo übergeben.

1 Stimmen

each() ist in neueren Versionen von PHP veraltet, also ... Verlassen Sie sich nicht darauf, dass dies in Zukunft funktioniert.

9voto

Villapalos Punkte 565

Die kürzeste, einfachste und unabhängigste Lösung ist:

$key   = key($arr);
$value = reset($arr);

7voto

$schlüssel = array_keys($arr);
echo $schlüssel[0];

Oder verwenden Sie array_values() für den Wert.

0voto

Lukáš Lalinský Punkte 39243

Sie können array_shift(array_keys($arr)) verwenden (mit array_values zum Abrufen des Werts), aber es führt immer noch intern eine Schleife aus.

0voto

Ganesh Shankar Punkte 4756

Was ist mit array_keys()?

Es gibt jedoch ein Array zurück...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X