0

私は部分的に機能しているこのコードを持っています...私はこれをやろうとしています:

Array
(
    [servicio_id 1] => Array
        (
            [peticion_id 1] => Array
                (...)
            [peticion_id 2] => Array
                (...)
            [peticion_id 3] => Array
                (...)
         )
    [servicio_id 2] => Array
        (
            [peticion_id 1] => Array
                (...)
            [peticion_id 2] => Array
                (...)
            [peticion_id 3] => Array
                (...)
         )
)

したがって、各 [servicio_id] には独自の値を持つ [peticion_id] があります...問題は、私のコードが実際にすべての [peticion_id] 配列内に同じ値を設定し、ループが実行されている限りサイズを大きくすることです...アドバイス[servicio_id] が終了したら、[peticion_id] 配列をクリアして再開する方法について教えてください。

アドバイスありがとう

while($row = sqlsrv_fetch_array($sqlQuery)) {
    if($row['peticion_id'] == 0) {
        $ok[]       =   round($row['valor'], 3);
        if($row['media_ok'] == null) {
            $medias_ok = array("0", "0", "0", "0");
        } else {
            $medias_ok = Umbrales::getValues($row['media_ok'], $row['media']);
        }   
        $max_ok[] = $medias_ok[1];
        $min_ok[] = $medias_ok[0];
    }
    if($row['peticion_id'] == 1) {
        $ko[]       =   round($row['valor'], 3);
        if($row['media_ok'] == null) {
            $medias_ko = array("0", "0", "0", "0");
        } else {
            $medias_ko = Umbrales::getValues($row['media_ok'], $row['media']);
        }   
        $max_ko[] = $medias_ko[2];
    }
    if($row['peticion_id'] == 2) {
        $rt[]       =   round($row['valor'], 3);
        if($row['media_ok'] == null) {
            $medias_rt = array("0", "0", "0", "0");
        } else {
            $medias_rt = Umbrales::getValues($row['media_ok'], $row['media']);
        }   
        $max_rt[] = $medias_rt[3];
    }
    $datos[$servicios[$row['servicio_id']]] = array(
    "OK" => $ok,
    "KO" => $ko,
    "RT" => $rt,
    "UMBRAL_MIN_OK" => $min_ok,
    "UMBRAL_MAX_OK" => $max_ok,
    "UMBRAL_MAX_KO" => $max_ko,
    "UMBRAL_MAX_RT" => $max_rt
    );
}
4

1 に答える 1