Maison  >  Article  >  développement back-end  >  Comment récupérer des clés de premier niveau dans un tableau 2D à l'aide d'une boucle Foreach en PHP ?

Comment récupérer des clés de premier niveau dans un tableau 2D à l'aide d'une boucle Foreach en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 20:22:02167parcourir

How to Retrieve First Level Keys in a 2D Array Using a Foreach Loop in PHP?

Utiliser une boucle Foreach pour récupérer les clés de premier niveau dans un tableau 2D

En PHP, parcourir un tableau multidimensionnel peut être délicat, en particulier lorsqu'il s'agit d'accéder à ses clés de premier niveau. Examinons un scénario pratique et montrons comment y parvenir à l'aide d'une boucle foreach.

Vous disposez d'un tableau nommé $places avec une structure comme celle-ci :

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

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

Votre code ressemble actuellement à ceci :

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

<?php endforeach ?>

Vous souhaitez récupérer la clé de premier niveau (par exemple, "Philadelphie") lorsque vous appelez key($site), mais il renvoie actuellement la clé de deuxième niveau ("place_name").

Pour résoudre ce problème, vous devez accéder directement à la clé de premier niveau, ce qui est simple en PHP :

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

Dans ce code, $key sera la clé de premier niveau et $value représentera le tableau correspondant pour cette clé.

Voici un code révisé :

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

<?php endforeach ?>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn