我有一个数组: $aPerfparse 作为二维数组,其中索引范围从 0 到 n-1,
* aPerfparse[index]['label'] - label of the perfdata
* ['value'] - actual perfdata
* ['uom'] - unit of measurement (might be NULL)
需要遍历每个项目并将每个索引“值”和“标签”设置为 sep。基于索引的变量。
如果没有循环,它将是:
$value0 = $aPerfdata[0]['value'];
$value1 = $aPerfdata[1]['value'];
什么是正确/不正确的?:
foreach ( $aPerfdata as $key => $value ) {
$value$key = $aPerfdata[$key]['value'];
$label$key = $aPerfdata[$key]['label'];
}
同样,我需要获取那些存储的 $value 和 $label 变量,并稍后在 foreach 循环中引用它们。
没有循环,它看起来像:
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+2, $oShadow, $fontFile, $label0 . ":" . " " . $value0);
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+40, $oShadow, $fontFile, $label1 . ":" . " " . $value1);
什么是正确/不正确的?:
foreach ( $aPerfdata as $key => $value ) {
ImageTTFText($img, $fontSize, $fontRotation, 2, $fontSize+$sz, $oShadow, $fontFile, $label$key . ":" . " " . $value$key);
sz=$sz+40;
}
谢谢!
====
在大家的帮助下,我有以下工作:
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;
}
我真的不再需要展平阵列了。我尝试了Mark提到的方法,但是ImageTTFText函数没有执行。