2009-11-12 7 views
0

When In print_r ou var_dumpComment est-ce que je peux boucler avec le tableau?

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

J'ai obtenu le résultat

array(2) { 
    [0]=> 
    object(stdClass)#330 (1) { 
    ["name"]=> 
    string(3) "AAA" 
    } 
    [1]=> 
    object(stdClass)#332 (1) { 
    ["name"]=> 
    string(3) "BBB" 
    } 
} 

Maintenant, je veux le résultat obtenu à partir du tableau.

AAA | BBB 

Répondre

5

Vous pouvez commencer par la recherche sur how arrays work. Aussi, si vous ne savez pas "quoi" un tableau est, regardez this Wikipedia entry.

Exemples de PHP.NET

Déclarer un index et des valeurs

<?php 
$arr = array("foo" => "bar", 12 => true); 

echo $arr["foo"]; // bar 
echo $arr[12]; // 1 
?> 

Voici un autre exemple des résultats

<?php 
// Create a simple array. 
$array = array(1, 2, 3, 4, 5); 
print_r($array); 

// Now delete every item, but leave the array itself intact: 
foreach ($array as $i => $value) { 
    unset($array[$i]); 
} 
print_r($array); 

// Append an item (note that the new key is 5, instead of 0). 
$array[] = 6; 
print_r($array); 

// Re-index: 
$array = array_values($array); 
$array[] = 7; 
print_r($array); 
?> 

Résultat de ce qui précède:

Array 
(
    [0] => 1 
    [1] => 2 
    [2] => 3 
    [3] => 4 
    [4] => 5 
) 
Array 
(
) 
Array 
(
    [5] => 6 
) 
Array 
(
    [0] => 6 
    [1] => 7 
) 

Votre problème particulier

Maintenant, il me semble que vous voulez sélectionner chaque nom de chaque enregistrement/ligne dans votre tableau/liste. Pour ce faire, vous devez effectuer une boucle/itérer sur l'ensemble de la matrice et écrire la valeur de nom des lignes en cours.

Exemple sur une boucle avec des tableaux

<?php 
$people = Array(
     Array('name' => 'Kalle', 'salt' => 856412), 
     Array('name' => 'Pierre', 'salt' => 215863) 
     ); 

for($i = 0; $i < sizeof($people); ++$i) 
{ 
    echo $people[$i]['name']; 
} 
?> 

Faire cela sans boucles

Alors disons que vous savez que votre tableau a seulement deux valeurs, eh bien si vous aviez un tableau à la recherche comme ceci:

$arr = array(10, 20); 

Vous pourriez écrire quelque chose comme ça pour les écrire:

echo $arr[0]; 
echo $arr[1]; 

Rappelez-vous que lorsque vous dites à votre réseau qui « ligne » pour obtenir, vous dites toujours « combien d'étapes pour aller », ce qui signifie que si vous voulez la première valeur, vous prenez 0 étapes , donc l'index est ... 0!

orientation d'objets et tableaux

Puisque vous utilisez un objet dans votre tableau, vous pouvez consulter des informations sur PHP and Object Oriented Programming.

Side note et un exemple frais

Voir cet exemple frais qui pourrait vous donner une idée sur ce que vous pouvez faire

<?php 

$obj = (object) array('foo' => 'bar', 'property' => 'value'); 

echo $obj->foo; // prints 'bar' 
echo $obj->property; // prints 'value' 

?> 
+0

merci Vous me donnez les moyens. – kn3l

-3

Si vous ne connaissez pas, essayez simplement les choses jusqu'à ce que cela fonctionne.

echo $groupname[0]["name"]; //probably doesnt work, next 
echo $groupname[0][0]; // hmm nope 
echo $groupname[0]->name; // hey this works. 
+0

Merci @Les .i juste essayer: echo $ nomgroupe [0] ["nom"]; // ne fonctionne probablement pas, ensuite echo $ nomgroupe [0] [0]; // hmm nope – kn3l

+0

Comprendre ce que vous faites est bien mieux que de simplement essayer. – Alex

+0

vous apprenez à comprendre en essayant, en faisant des erreurs, au moins à mon avis. – Les

0

Cela pourrait se faire facilement avec foreach.

Ce $ groupname var ressemble à un tableau d'objets. Permet d'avoir une classe fictive que va créer des objets pour notre but.

class MyClass 
{ 
public $name = ''; 

public function __construct($n) 
{ 
    $this->name = $n; 
} 
} 

Cette classe a le nom attribut/membre. Le nom_groupe $ est un tableau que de tels objets (du var_dump) ... Nous pourrions créer ce tableau comme ceci:

$groupnames = Array(
     new MyClass ('AAA'), new MyClass ('BBB') 
    ); 

Pour imprimer les informations contenues dans ce tableau, nous pouvons utiliser le foreach constrcut de php.

foreach($groupname as $group) 
{ 
    print "$group->name\n"; 
} 

Ceci imprime les noms chacun sur une ligne. Pour avoir cette sortie de la boucle « AAA | BBB » est laissé comme un exercice :) Astuce: Vous pouvez utiliser la « fin() » construire comme celui-ci « fin (groupe $) » ...

Cordialement, Riza Dindir

Questions connexes