2011-11-06 4 views
1

J'ai une table csv, avec la première ligne comme en-tête. Je voudrais parcourir toutes les lignes, en utilisant le nom de la colonne pour faire référence à la colonne au lieu de sa valeur numérique. Pour ce faire, je pense que je dois convertir chaque ligne numériquement indexée en une ligne associative, mais je ne peux pas trouver la meilleure façon de le faire.convertir un tableau numérique en associatif en utilisant un autre tableau pour les clés

$headerrow = str_getcsv($table[0]); //gives me an array like 0=>foo,1=>bar,2=>bat 
foreach ($table as $rownumber=>$row){ 
    if($rownumber!=0){ 
     $rowarray=str_getcsv($row);//gives me an array like 0=>blah,1=>blah,2=>blah 
     //how do I get $rowarray['foo'] or $rowarray['bar'] most efficiently? 
    } 
} 

Répondre

1

Deviner J'aurais dû regarder de plus près les fonctions de tableau. J'ai trouvé array_combine.

$rowarray = array_combine($headerrow,str_getcsv($row)); 
print($rowarray['foo']); 
+0

Exactomundo. '$ combined = array_combine ($ keys, $ values)' –

Questions connexes