308 votes

Comment afficher ou imprimer un tableau en PHP ?

J'ai ce tableau

Array
(
  [data] => Array
    (
      [0] => Array
        (
          [page_id] => 204725966262837
          [type] => WEBSITE
        )

      [1] => Array
        (
          [page_id] => 163703342377960
          [type] => COMMUNITY
        )
      )
)

Ma question est la suivante : comment puis-je simplement répercuter le contenu sans cette structure ? J'ai essayé

foreach ($results as $result) {
    echo $result->type; 
    echo "<br>";
}

623voto

A voir le contenu du tableau que vous pouvez utiliser.

1) print_r($array); ou si vous voulez un tableau joliment formaté :

echo '<pre>'; print_r($array); echo '</pre>';

2) utiliser var_dump($array) pour obtenir plus d'informations sur le contenu du tableau, comme le type de données et la longueur.

3) vous pouvez boucler le tableau en utilisant la fonction foreach(); et obtenir la sortie souhaitée. Plus d'informations sur foreach dans le site de documentation de php :
http://in3.php.net/manual/en/control-structures.foreach.php

2 votes

Joli et élégant. Vous pourriez vouloir changer la balise de fermeture dans le #1 de <pre/> à </pre>.

1 votes

Cette réponse ne traite pas de l'erreur commise par le PO.

2 votes

Pourriez-vous expliquer comment la construction <pre></pre> fait que cela s'affiche "joliment" ?

157voto

shiplu.mokadd.im Points 28895

Cela fera

foreach($results['data'] as $result) {
    echo $result['type'], '<br>';
}

0 votes

Merci pour cela. Pouvez-vous me dire comment je peux faire écho, par exemple, uniquement au type du tableau [1] ?

7 votes

@Kaoukkos echo $results['data'][1]['type'];

2 votes

Et si je n'ai pas de clé comme data ?

148voto

Mark E Points 441

Si vous voulez juste connaître le contenu sans format (par exemple pour le débogage), j'utilise ceci :

echo json_encode($anArray);

Le résultat sera affiché sous forme de JSON, ce qui est assez lisible pour l'homme.

0 votes

Je voulais extraire des données d'un html - php en utilisant Cordova InAppBrowser executeScript sans json_encode($array) Je n'y suis pas parvenu ! Merci beaucoup @Mark E

2 votes

Echo json_encode($downloads, JSON_PRETTY_PRINT) ; fonctionne encore mieux

58voto

Mohammad Points 10538

Il existe plusieurs fonctions d'impression du contenu des tableaux, chacune ayant ses propres caractéristiques.

print_r()

Imprime des informations lisibles par l'homme sur une variable.

$arr = ["a", "b", "c"];

echo "<pre>";
print_r($arr);
echo "</pre>";

Array
(
    [0] => a
    [1] => b
    [2] => c
)

var_dump()

Affiche des informations structurées sur les expressions, notamment leur type et leur valeur.

echo "<pre>";
var_dump($arr);
echo "</pre>";

array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}

var_export()

Affiche des informations structurées sur la variable donnée dont la représentation retournée est un code PHP valide.

echo "<pre>";
var_export($arr);
echo "</pre>";

array (
  0 => 'a',
  1 => 'b',
  2 => 'c',
)

Notez que parce que les navigateurs condensent plusieurs caractères d'espacement (y compris les nouvelles lignes) en un seul espace ( réponse ) vous devez envelopper les fonctions ci-dessus dans <pre></pre> pour afficher le résultat dans le format correct.


Il existe également un autre moyen d'imprimer le contenu d'un tableau sous certaines conditions.

echo

Affiche une ou plusieurs chaînes de caractères. Ainsi, si vous voulez imprimer le contenu d'un tableau en utilisant echo vous devez boucler à travers le tableau et dans la boucle utiliser echo pour imprimer les éléments du tableau.

foreach ($arr as $key=>$item){
    echo "$key => $item <br>";
}

0 => a 
1 => b 
2 => c

35voto

Ankur Tiwari Points 2153

Vous pouvez utiliser print_r , var_dump et var_export les fonctions de php :

print_r : Convertir en une forme lisible par l'homme

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

var_dump() : vous indiquera le type de l'objet ainsi que son contenu.

var_dump($results);

foreach loop : en utilisant la boucle for each, vous pouvez itérer chaque valeur d'un tableau.

foreach($results['data'] as $result) {
    echo $result['type'].'<br>';
}

0 votes

Comment insérer le résultat dans une base de données ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X