Holen Sie sich den n-ten Schlüssel des assoziativen PHP-Arrays [duplicate]

Lesezeit: 2 Minuten

Benutzeravatar von jtubre
jtubre

Ich möchte den Wert des KEY eines assoziativen PHP-Arrays an einem bestimmten Eintrag erhalten. Insbesondere weiß ich, dass der SCHLÜSSEL, den ich brauche, der Schlüssel zum zweiten Eintrag im Array ist.

Beispiel:

$array = array('customer' => 'Joe', 'phone' => '555-555-5555');

Was ich baue, ist superdynamisch, daher weiß ich NICHT, dass der zweite Eintrag “Telefon” sein wird. Gibt es eine einfache Möglichkeit, es zu greifen?

Kurz gesagt (ich weiß, dass es nicht funktioniert, aber …) Ich suche nach etwas, das funktional gleichwertig ist mit: key($array[1]);

  • Das ist eine sehr ungewöhnliche Anforderung für ein assoziativ Reihe.

    – Devon

    20. April 2015 um 0:41 Uhr

  • Die als Duplikat angezeigte Frage stackoverflow.com/questions/4769148/… ist nicht dieselbe. Er möchte einen Wert basierend auf dem Index festlegen, ich muss auf den Schlüsselwert basierend auf dem Index verweisen.

    – jtubre

    20. April 2015 um 15:46 Uhr

Devons Benutzeravatar
Devon

array_keys erzeugt ein numerisches Array der Schlüssel eines Arrays.

$keys = array_keys($array);
$key = $keys[1];

Wenn Sie PHP 5.4 oder höher verwenden, können Sie eine Kurzschreibweise verwenden:

$key = array_keys($array)[1];

  • Vielen Dank. Vor allem für die zweite Zeile. Diese Abkürzung war mir nicht bekannt. Es funktioniert, aber leider gefällt es meiner DW CS5.5-Fehlerprüfung nicht.

    – jtubre

    20. April 2015 um 0:49 Uhr


  • Gah, ich habe mit reset(array) dann key(array) herumgeschraubt, diese Methode ist viel einfacher. Einfache Sache übersehen.

    – Auflösung

    21. Mai 2018 um 20:51 Uhr

  • array_keys generiert eine vollständige Kopie aller Schlüssel. Sehr ineffizient bei langen Arrays.

    – FrancescoMM

    3. November 2020 um 12:04 Uhr

  • @FrancescoMM, haben Sie ein sehr langes assoziatives Array? das ist wahrscheinlich ein Code-Geruch. Die andere Alternative besteht darin, Ihr Array zu durchlaufen, aber wenn Sie Ihr assoziatives Array tatsächlich mit ganzen Zahlen referenzieren möchten, müssten Sie eine neue Struktur erstellen.

    – Devon

    3. November 2020 um 14:37 Uhr

  • @FrancescoMM Ich folge dir nicht, woher kommt die Umkehrung des Arrays? Im Allgemeinen ist ein assoziatives Array eine Hash-Tabelle, es ist ideal zum Indizieren, aber nicht zum Ordnen. Wenn Sie ein neues Problem als das hier aufgeführte haben, können Sie gerne auf Ihre Frage verlinken, aber ich würde empfehlen, zunächst sicherzustellen, dass Sie die richtige Datenstruktur verwenden.

    – Devon

    4. November 2020 um 20:13 Uhr

1430310cookie-checkHolen Sie sich den n-ten Schlüssel des assoziativen PHP-Arrays [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy