je un tableau: $ aPerfparse en tant que tableau à 2 dimensions où l'indice varie de 0 à n-1,PHP: foreach assignation de variables et référencement: comment?
* aPerfparse[index]['label'] - label of the perfdata
* ['value'] - actual perfdata
* ['uom'] - unit of measurement (might be NULL)
besoin pour parcourir chaque élément et fixé de la valeur de chaque index et « label » à un sep. variable basée sur l'index.
Sans une boucle, il serait:
$value0 = $aPerfdata[0]['value'];
$value1 = $aPerfdata[1]['value'];
ce qui est correct/incorrect de cette ?:
foreach ($aPerfdata as $key => $value) {
$value$key = $aPerfdata[$key]['value'];
$label$key = $aPerfdata[$key]['label'];
}
De même, je dois prendre les valeurs $ stockées et les variables $ label et référencez-les plus tard dans une boucle foreach.
Sans une boucle, il ressemblerait à ceci:
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+2, $oShadow, $fontFile, $label0 . ":" . " " . $value0);
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+40, $oShadow, $fontFile, $label1 . ":" . " " . $value1);
ce qui est correct/incorrect de cette ?:
foreach ($aPerfdata as $key => $value) {
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+$sz, $oShadow, $fontFile, $label$key . ":" . " " . $value$key);
sz=$sz+40;
}
Merci!
====
Après l'aide de tout le monde, j'ai le travail suivant:
foreach ($aPerfdata as $key => $value)
{
${'label'.$key} = $aPerfdata[$key]['label'];
${'value'.$key} = $aPerfdata[$key]['value'];
}
foreach ($aPerfdata as $key => $value)
{
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+$sz, $oShadow, $fontFile, ${'label'.$key} . ":" . " " . ${'value'.$key});
$sz=$sz+40;
}
Je n'ai pas vraiment besoin d'aplatir le tableau plus. J'ai essayé la méthode mentionnée par Mark, mais la fonction ImageTTFText ne s'exécute pas.
'$ label $ key' =>' $ {'label'. $ Clé} ' – Wrikken
merci - nouveau à php. – user453366
Que voulez-vous dire qu'il ne s'exécute pas? Avez-vous une erreur? Un avertissement? Pouvez-vous nous montrer plus de votre code? La section montrée est correcte. –