2009-03-28 6 views
22

Est-il possible d'écho ou d'imprimer tout le contenu d'un tableau sans spécifier quelle partie du tableau?Sortie (echo/print) tout depuis un tableau PHP

Le scénario: Je suis en train de faire écho tout de:

while($row = mysql_fetch_array($result)){ 
echo $row['id']; 
} 

Sans spécifier « id » et la sortie au lieu de tout le contenu du tableau.

Répondre

34

Si vous voulez formater la sortie sur votre propre, il suffit d'ajouter une autre boucle (foreach) pour itérer à travers le contenu de la ligne courante:

while ($row = mysql_fetch_array($result)) { 
    foreach ($row as $columnName => $columnData) { 
     echo 'Column name: ' . $columnName . ' Column data: ' . $columnData . '<br />'; 
    } 
} 

Ou si vous ne se soucient pas de la mise en forme, utilisez la fonction print_r recommandée dans les réponses précédentes.

while ($row = mysql_fetch_array($result)) { 
    echo '<pre>'; 
    print_r ($row); 
    echo '</pre>'; 
} 

imprime print_r() seules les clés et les valeurs de la matrice, opposés à var_dump() whichs imprime également les types des données dans le réseau, à savoir la chaîne, int, double, et ainsi de suite. Si vous vous souciez des types de données, utilisez var_dump() sur print_r().

6

var_dump() peut le faire.

Cette fonction affiche des informations structurées sur une ou plusieurs expressions incluant son type et sa valeur. Les tableaux et les objets sont explorés récursivement avec des valeurs indentées pour montrer la structure.

http://php.net/manual/en/function.var-dump.php

4

Je pense que vous cherchez print_r qui imprimera le tableau sous forme de texte. Vous ne pouvez pas contrôler le formatage, mais plutôt le débogage. Si vous voulez un formatage sympa, vous devrez le faire manuellement.

17

Nice & résultats lisibles, utilisez ceci:

function printVar($var) { 
    echo '<pre>'; 
    var_dump($var); 
    echo '</pre>'; 
} 

La fonction ci-dessus préservera la mise en forme originale, ce qui rend (plus) lisible dans un navigateur Web.

+1

N'appelez-vous pas printVar ou debugVar? Pourquoi l'appeler readVar? – jmucchiello

+0

Bon point, l'a nommé à la volée. Devrait probablement être printVar. Merci pour le vote négatif. – karim79

1

similaire à celui de karim, mais avec print_r qui a une grande petite sortie et je trouve est généralement tout ce dont vous avez besoin:

function PrintR($var) { 
    echo '<pre>'; 
    print_r($var); 
    echo '</pre>'; 
} 
2

Ceci est une petite fonction que j'utilise tout le temps son pratique si vous êtes en train de déboguer des tableaux. C'est à peu près la même chose que Darryl et Karim posté. J'ai juste ajouté un titre de paramètre afin que vous ayez quelques informations de débogage comme tableau que vous imprimez. il vérifie également si vous l'avez fourni avec un tableau valide et vous permet de savoir si vous ne l'avez pas fait.

function print_array($title,$array){ 

     if(is_array($array)){ 

      echo $title."<br/>". 
      "||---------------------------------||<br/>". 
      "<pre>"; 
      print_r($array); 
      echo "</pre>". 
      "END ".$title."<br/>". 
      "||---------------------------------||<br/>"; 

     }else{ 
      echo $title." is not an array."; 
     } 
} 

Utilisation de base:

//your array 
$array = array('cat','dog','bird','mouse','fish','gerbil'); 
//usage 
print_array("PETS", $array); 

Résultats:

PETS 
||---------------------------------|| 

Array 
(
    [0] => cat 
    [1] => dog 
    [2] => bird 
    [3] => mouse 
    [4] => fish 
    [5] => gerbil 
) 

END PETS 
||---------------------------------|| 
0

Vous pouvez utiliser print_r pour obtenir une sortie lisible par l'homme. Mais pour l'afficher en texte on ajoute "echo '';"

echo ''; print_r ($ row);

0
//@parram $data-array,$d-if true then die by default it is false 
//@author Your name 

function p($data,$d = false){ 

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

    if($d == TRUE){ 
     die(); 
    } 
} // END OF FUNCTION 

Utilisez cette fonction à chaque fois que vous devez whenver chaîne ou un tableau, il sera wroks tout simplement génial.
Il y a 2 Patameters
1. $ data - Il peut être tableau ou une chaîne
2. $ d - Par défaut, il est FAUX, mais si vous définissez à true alors il exécutera la fonction de matrice()

Dans votre cas, vous pouvez utiliser de cette manière ....

while($row = mysql_fetch_array($result)){ 
    p($row); // Use this function if you use above function in your page. 
}