<?php $image_width = 1980; $image_height = 1080; //Calculation: $DPI = 180; // From admin $MinimumPrintSize = 5; // Fromt admin $MaxPrintSize = Floor($image_width / $DPI ); $NPSS = $MaxPrintSize - $MinimumPrintSize; //Number of possible, lets say it was 5 $List_of_Amount = array( 0 => array( 'amount' => 5000, 'size_w' => 0, 'size_h' => 0, ), 1 => array( 'amount' => 2000, 'size_w' => 0, 'size_h' => 0, ), 2 => array( 'amount' => 1000, 'size_w' => 0, 'size_h' => 0, ), 3 => array( 'amount' => 500, 'size_w' => 0, 'size_h' => 0, ), 4 => array( 'amount' => 200, 'size_w' => 0, 'size_h' => 0, ), 5 => array( 'amount' => 100, 'size_w' => 0, 'size_h' => 0, ), 6 => array( 'amount' => 50, 'size_w' => 0, 'size_h' => 0, ), 7 => array( 'amount' => 20, 'size_w' => 0, 'size_h' => 0, ), 8 => array( 'amount' => 10, 'size_w' => 0, 'size_h' => 0, ), 9 => array( 'amount' => 5, 'size_w' => 0, 'size_h' => 0, ), 10 => array( 'amount' => 2, 'size_w' => 0, 'size_h' => 0, ), 11 => array( 'amount' => 1, 'size_w' => 0, 'size_h' => 0, ), ); // the one from previous(1=>5000, 2=>2000 and etc.) $List_of_Sizes = array( ); // the one from previous(1=>5000, 2=>2000 and etc.) Switch ($NPSS) { Case 1: Case 2: Case 3: Case 4: Case 5: Case 6: Case 7: $Num_of_sizes = $NPSS; for ( $i=0; $i++; $i < $Num_of_sizes ) { $List_of_Sizes[$i]['amount'] = $List_of_Amount[$i]['amount']; // 5+0 $List_of_Sizes[$i]['size_w'] = $MinimumPrintSize + $i; // 5+0 $List_of_Sizes[$i]['size_h'] = $List_of_Sizes[$i]['size_w'] / $image_width * $image_height; } Break; Case 8: Case 9: Case 10: Case 11: Case 12: Case 13: $N = $NPPS - 6 ; $Num_of_sizes = 7 ; for( $i = 0; $i++; $i < $N ) { $List_of_Sizes[$i] = 5 + 2 * $i; } for( $i = $N; $i++; $i < $Num_of_sizes ) { $List_of_Sizes[$i] = $NPSS - 2 + $i; } break; Case 14: Case 15: Case 16: Case 17: Case 18: Case 19: Case 20: Case 21: Case 22: Case 23: $Num_of_sizes = round(( $NPSS + 1 ) / 2 ); //$List_of_Sizes[$Num_of_sizes - 1] = $NPSS + 4; NOT NEEDED??? for( $i = 0; $i++; $i < $Num_of_sizes - 1) { $List_of_Sizes[$i]['amount'] = $List_of_Amount[$i]['amount']; // 5+0 $List_of_Sizes[$i]['size_w'] = $MinimumPrintSize + 2 * $i; // 5+0 $List_of_Sizes[$i]['size_h'] = $List_of_Sizes[$i]['size_w'] / $image_width * $image_height; } break; Case 24: Case 25: Case 26: Case 27: Case 28: Case 29: Case 30: Case 31: Case 32: $N = $NPSS - 22; $Num_of_sizes = 12; for( $i = 0; $i++; $i < $N ) { $List_of_Sizes[$i] = 5 + 3 * $i; } for( $i = $N; $i++; $i < $Num_of_sizes ) { $List_of_Sizes[$i] = $NPSS - 18 + 2 * $i ; } break; }