2010-08-18 5 views
0

J'ai besoin d'aide pour construire une fonction qui affiche un tableau associatif et je veux les insérer dans une variable. par exemple j'ai ce tableau assoc:obtenir chaque valeur d'un tableau associatif

$array[ID] = 1; 
$array[Name] = John; 
$array[age] = 12; 

$array[ID]=2; 
$array[Name] = Mary; 
$array[age] = 14; 

que je dois faire l'identification, le nom, l'âge comme variables afin que je puisse l'afficher dans une table. quand je les traverse chaque fois qu'il remplit la rangée du tableau. il doit être chacun une variable i coz besoin de les insérer dans un ceindra, et afficher la grille .. où je peux mettre à jour supprimer les informations

Répondre

0

Actuellement, il semble comme si vous écrasiez les valeurs de la première personne avec les valeurs de la deuxième personne.

Qu'est-ce que vous cherchez est une structure de tableau avec plus d'une dimension, comme ceci:

$people = array(
    1 => array('name' => 'John', 'age' => 12), 
    2 => array('name' => 'Mary', 'age' => 14) 
); 

Ensuite, il sera facile d'imprimer des lignes de table:

foreach($people as $id => $person){ 
    print '<tr><td>'.$id.'</td><td>'.$person['name'].'</td><td>'.$person['age'].'</td></tr>'; 
}//foreach 

Espoir CA aide!

0
foreach($array as $row) { 
    echo $row['ID'],$row['Name'],$row['age']; 
} 
+0

il dosnt me revenir en tant que variable ... je dois les utiliser dans une variable coz j'ai besoin de les insérer dans une grille où je peux modifier mise à jour supprimer les informations dans la base de données – Mohamed

+0

Votre tableau est déjà variable. Vous avez juste besoin de parcourir pour obtenir les valeurs stockées à l'intérieur. – Mchl

+1

@Mohamed $ row ['Name'] est la même variable que $ name. Utilisez-le aussi –

0

Je ne suis pas sûr de ce que vous voulez faire exactement, mais peut-être c'est la fonction extract que vous recherchez.

0
foreach($array as $key => $value){ 
    echo $key. ' = '.$value."; 
} 

vous donnerait

ID = 1 Name = John age = 12

etc

Aussi assurez-vous de faire $array["ID"] = ... au lieu de $array[ID] = ...

0

Vous pouvez faire:

foreach($array as $user) { 
    list($age, $name, $id) = array_values($user); 
    echo $id, $name, $age; 
} 

Mais comme les autres déjà souligné, cela est inutile parce que vous pouvez lire beaucoup plus facilement les valeurs directement à partir du tableau par leurs clés associatives. Vous ne devez pas exécuter array_values pour affecter les valeurs de tableau avant de pouvoir les affecter avec list.

+0

'extrait()' fonction, mentionné ci-dessus, semble plus élégant –

+0

@ColShrapnel avec 'extrait' vous ne devriez pas faire' array_values' mais la déclaration de la variable serait implicite. Avec 'list' vous pouvez les nommer comme vous voulez. Juste montrant des alternatives bien.L'OMI utilisant les clés associatives est la solution la plus simple et la plus efficace. – Gordon

1

j'utiliser une des réponses fournies, mais si vous vraimentvraiment voulez (encore une fois, je ne vois pas une raison, mais ce que l'enfer ne je sais) utiliser extract()

<?php 
$people = array(
    array('id' => 1, 'name' => 'John', 'age' => 12), 
    array('id' => 2, 'name' => 'Mary', 'age' => 14) 
); 
foreach($people as $row) { 
    extract($row); 
    echo "Id: $id, Name: $name, Age: $age\n"; 
} 
//Prints: 
//Id: 1, Name: John, Age: 12 
//Id: 2, Name: Mary, Age: 14 

~

Questions connexes