Fred Furunkelstein: An "list()" Array übergeben statt statischer Bezeichner

Beitrag lesen

Da kommt er aber vom Regen in die Traufe. Er will list() ja aben keine einzelnen Elemente sondern nur _ein_ Array mit allen Variablennamen darin übergeben.

Da fällt mir auf die Schnelle nur das böse eval ein.

<?php  
$ar=array();  
$strFeldList=array();  
$arFelder=array('Feld_Foo', 'Feld_Bar');  
  
foreach ($arFelder as $strFeld) {  
   $arFeldList[]='$ar[\'' . $strFeld . '\']';  
}  
  
$strExecute='list('.implode(',', $arFeldList).')=$arData;';  
#Um beim Entwickeln ggfs. zu sehen, was Du machst:  
print($strExecute)."<br />/n/n";  
  
$arData=array('foo', 'bar');  
eval($strExecute);  
  
var_dump($ar);  
?>  

Das Beispiel funktioniert jedenfalls.