web-dev-qa-db-fra.com

Comment faire écho 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: comment puis-je simplement faire écho au contenu sans cette structure? j'ai essayé

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

Cela fera

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

Pour voir le contenu du tableau que vous pouvez utiliser.

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

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

2) utilisez 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 foreach(); de php et obtenir la sortie désirée. plus d'informations sur foreach dans le site de documentation de php:
http://in3.php.net/manual/en/control-structures.foreach.php

421

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

echo json_encode($anArray);

Cela le montrera comme un JSON qui est assez lisible par l'homme.

86
Mark E

Il y a plusieurs fonctions pour imprimer un contenu de matrice qui a chacune des 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 incluant son type et sa 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 qui a renvoyé la représentation est un code valide PHP.

echo "<pre>";
var_export($arr);
echo "</pre>";
array (
  0 => 'a',
  1 => 'b',
  2 => 'c',
)

Notez que, dans la mesure où votre navigateur condensera plusieurs caractères d’espace (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 un 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. Ainsi, si vous souhaitez imprimer le contenu d'un tableau à l'aide de echo, vous devez parcourir un tableau et utiliser en boucle echo pour imprimer des éléments d'un tableau.

foreach ($arr as $key=>$item){
    echo "$key => $item <br>";
}
0 => a 
1 => b 
2 => c 
22
Mohammad

Avez-vous essayé d'utiliser print_r pour l'imprimer sous une forme lisible par l'homme?

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

ou echo $results['data'][1]['type'];

17
Rezigned

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

_print_r_: Convertir en forme humaine lisible

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

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

_var_dump($results);
_

_foreach loop_: en utilisant pour chaque boucle, vous pouvez itérer chaque valeur d'un tableau.

_foreach($results['data'] as $result) {
    echo $result['type'].'<br>';
}
_
13
Ankur Tiwari

Vous n'avez pas besoin de mettre une boucle pour voir les données dans le tableau, vous pouvez simplement le faire de la manière suivante

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

Je sais que c’est une vieille question, mais si vous voulez une représentation analysable PHP, vous pouvez utiliser:

$parseablePhpCode = var_export($yourVariable,true);

Si vous renvoyez le code exporté dans un fichier file.php (avec une instruction return), vous pouvez l’utiliser comme

$yourVariable = require('file.php');
3
Niclas

J'ai vérifié la réponse cependant (pour chacun) dans PHP est obsolète et ne fonctionne plus avec les dernières versions de PHP.

Habituellement, nous convertissons un tableau en chaîne pour le consigner quelque part, par exemple pour le débogage ou le test.

Je convertirais le tableau en chaîne en faisant:

$ Sortie = implicite (",", $ SourceArray);

Tandis que:

$ output est le résultat (où la chaîne serait générée

",": est le séparateur (entre chaque champ de tableau

$ SourceArray: est votre tableau source.

J'espère que ça aide

0
Heider Sati