Wie greife ich mit einer Foreach-Schleife auf die Schlüssel der ersten Ebene eines 2D-Arrays zu? [duplicate]

Lesezeit: 2 Minuten

Benutzeravatar von matthewb
matthewb

Wie greife ich mit einer Foreach-Schleife auf den Schlüssel der ersten Ebene eines zweidimensionalen Arrays zu?

Ich habe ein $places Array wie folgt:

[Philadelphia] => Array
        (
            [0] => Array
                (
                    [place_name] => XYX
                    [place_id] => 103200
                    [place_status] => 0
                )

            [1] => Array
                (
                [place_name] => YYYY
                [place_id] => 232323
                [place_status] => 0
            )

Dies ist mein Ansichtscode, der das Array durchläuft:

<?php foreach($places as $site): ?>
    <h5><?=key($site)?></h5>
        <?php foreach($site as $place): ?>
            <h6><?=$place['place_name']?></h6>
        <?php endforeach?>

<?php endforeach ?>

Wo ich anrufe key($site)Ich möchte bekommen Philadelphiaaber ich bekomme gerade place_name aus jeder Reihe.

Sie können wie folgt auf Ihre Array-Schlüssel zugreifen:

foreach ($array as $key => $value)

Wie Pekka oben sagte

foreach ($array as $key => $value)

Vielleicht möchten Sie auch eine rekursive Funktion ausprobieren

displayRecursiveResults($site);

function displayRecursiveResults($arrayObject) {
    foreach($arrayObject as $key=>$data) {
        if(is_array($data)) {
            displayRecursiveResults($data);
        } elseif(is_object($data)) {
            displayRecursiveResults($data);
        } else {
            echo "Key: ".$key." Data: ".$data."<br />";
        }
    }
}

Benutzeravatar von Melih Yıldız
Melih Yıldız’

Sie können auch verwenden array_keys() . Anfängerfreundlich:

$keys = array_keys($arrayToWalk);
$arraySize = count($arrayToWalk); 

for($i=0; $i < $arraySize; $i++) {
    echo '<option value="' . $keys[$i] . '">' . $arrayToWalk[$keys[$i]] . '</option>';
}

  • Einfacher, effizienterer Code, sobald Sie ihn haben $keys: foreach ($keys as $key) ... $key ... $arrayToWalk[$key] ... Dies ist nützlich, wenn $keys könnten nur einige der Schlüssel im Array sein – andernfalls foreach ($arrayToWalk as $key => $value) ... ist sowohl einfacher zu bedienen als auch etwas schneller.

    – WerkzeugmacherSteve

    3. Dezember 2020 um 0:09 Uhr


Benutzeravatar von kumar
Kumar

foreach($shipmentarr as $index=>$val){    
    $additionalService = array();

    foreach($additionalService[$index] as $key => $value) {

        array_push($additionalService,$value);

    }
}

1434270cookie-checkWie greife ich mit einer Foreach-Schleife auf die Schlüssel der ersten Ebene eines 2D-Arrays zu? [duplicate]

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

Privacy policy