Ich habe ein Array: $aPerfparse als 2-dimensionales Array, dessen Index von 0 bis n-1 reicht,
* aPerfparse[index]['label'] - label of the perfdata
* ['value'] - actual perfdata
* ['uom'] - unit of measurement (might be NULL)
Sie müssen jedes Element durchlaufen und die Indizes "Wert" und "Bezeichnung" auf der Grundlage des Indexes auf eine getrennte Variable setzen.
Ohne eine Schleife wäre es das:
$value0 = $aPerfdata[0]['value'];
$value1 = $aPerfdata[1]['value'];
Was ist daran richtig/unrichtig?
foreach ( $aPerfdata as $key => $value ) {
$value$key = $aPerfdata[$key]['value'];
$label$key = $aPerfdata[$key]['label'];
}
Ebenso muss ich die gespeicherten Variablen $value und $label nehmen und später in einer foreach-Schleife auf sie verweisen.
Ohne eine Schleife würde es so aussehen:
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+2, $oShadow, $fontFile, $label0 . ":" . " " . $value0);
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+40, $oShadow, $fontFile, $label1 . ":" . " " . $value1);
Was ist daran richtig/unrichtig?
foreach ( $aPerfdata as $key => $value ) {
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+$sz, $oShadow, $fontFile, $label$key . ":" . " " . $value$key);
sz=$sz+40;
}
Ich danke Ihnen!
\====
Nach der Hilfe aller habe ich das Folgende zum Laufen gebracht:
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;
}
Ich brauche das Feld nicht mehr zu glätten. Ich habe die von Mark erwähnte Methode ausprobiert, aber die Funktion ImageTTFText wird nicht ausgeführt.