私は配列を持っています:インデックスが0からn-1の範囲の2次元配列としての$aPerfparse、
* 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 関数が実行されません。