Performance MDL-25637 moved static count/sizeof functions out of for loop conditions
authorAparup Banerjee <aparup@moodle.com>
Mon, 24 Jan 2011 05:38:12 +0000 (13:38 +0800)
committerAparup Banerjee <aparup@moodle.com>
Mon, 24 Jan 2011 06:51:21 +0000 (14:51 +0800)
auth/shibboleth/logout.php
mod/feedback/item/info/lib.php
mod/feedback/item/multichoice/lib.php
mod/feedback/item/multichoicerated/lib.php
mod/feedback/item/textarea/lib.php
mod/feedback/item/textfield/lib.php
question/format/blackboard_six/format.php
question/type/calculatedsimple/edit_calculatedsimple_form.php

index b451720..763bf4b 100644 (file)
@@ -197,11 +197,12 @@ function LogoutNotification($SessionID){
 /*****************************************************************************/
 
 // Same function as in adodb, but cannot be used for file session for some reason...
-function unserializesession( $serialized_string ){
-    $variables = array( );
-    $a = preg_split( "/(\w+)\|/", $serialized_string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE );
-    for( $i = 0; $i < count( $a ); $i = $i+2 ) {
-            $variables[$a[$i]] = unserialize( $a[$i+1] );
+function unserializesession($serialized_string) {
+    $variables = array();
+    $a = preg_split("/(\w+)\|/", $serialized_string, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
+    $counta = count($a);
+    for($i = 0; $i < $counta; $i=$i+2) {
+            $variables[$a[$i]] = unserialize($a[$i+1]);
     }
-    return( $variables );
+    return($variables);
 }
index c6ce954..5cc9228 100644 (file)
@@ -130,7 +130,8 @@ class feedback_item_info extends feedback_item_base {
         $data = $analysed_item->data;
         if(is_array($data)) {
             echo '<tr><th colspan="2" align="left">'. $itemnr . '&nbsp;('. $item->label .') ' . $item->name .'</th></tr>';
-            for($i = 0; $i < sizeof($data); $i++) {
+            $sizeofdata = sizeof($data);
+            for($i = 0; $i < $sizeofdata; $i++) {
                 echo '<tr><td colspan="2" valign="top" align="left">-&nbsp;&nbsp;' . str_replace("\n", '<br />', $data[$i]->show) . '</td></tr>';
             }
         }
@@ -148,7 +149,8 @@ class feedback_item_info extends feedback_item_base {
             // $worksheet->setFormat("<l><ro2><vo>");
             $worksheet->write_string($rowOffset, 2, $data[0]->show, $xlsFormats->value_bold);
             $rowOffset++;
-            for($i = 1; $i < sizeof($data); $i++) {
+            $sizeofdata = sizeof($data);
+            for($i = 1; $i < $sizeofdata; $i++) {
                 // $worksheet->setFormat("<l><vo>");
                 $worksheet->write_string($rowOffset, 2, $data[$i]->show, $xlsFormats->default);
                 $rowOffset++;
index 1e6b181..757ba92 100644 (file)
@@ -171,7 +171,8 @@ class feedback_item_multichoice extends feedback_item_base {
             $vallist = array_values(explode (FEEDBACK_MULTICHOICE_LINE_SEP, $value->value));
            $sizeofvallist = sizeof($vallist);
             for($i = 0; $i < $sizeofvallist; $i++) {
-                for($k = 0; $k < sizeof($presentation); $k++) {
+                $sizeofpresentation = sizeof($presentation);
+                for($k = 0; $k < $sizeofpresentation; $k++) {
                     if($vallist[$i] == ($k + 1)) {//Die Werte beginnen bei 1, das Array aber mit 0
                         $printval .= trim($presentation[$k]) . chr(10);
                         break;
@@ -235,7 +236,8 @@ class feedback_item_multichoice extends feedback_item_base {
         $worksheet->write_string($rowOffset, 0, $item->label, $xlsFormats->head2_green);
         $worksheet->write_string($rowOffset, 1, $analysed_item[1], $xlsFormats->head2_green);
         if(is_array($data)) {
-            for($i = 0; $i < sizeof($data); $i++) {
+            $sizeofdata = sizeof($data);
+            for($i = 0; $i < $sizeofdata; $i++) {
                 $aData = $data[$i];
 
                 // $worksheet->setFormat("<l><f><ro2><vo><c:blue>");
@@ -570,7 +572,8 @@ class feedback_item_multichoice extends feedback_item_base {
         $arrvals = array_values($value);
         $arrvals = clean_param($arrvals, PARAM_INT);  //prevent sql-injection
         $retval = $arrvals[0];
-        for($i = 1; $i < sizeof($arrvals); $i++) {
+        $sizeofarrvals = sizeof($arrvals);
+        for($i = 1; $i < $sizeofarrvals; $i++) {
             $retval .= FEEDBACK_MULTICHOICE_LINE_SEP.$arrvals[$i];
         }
         return $retval;
index af4cf02..77a2b04 100644 (file)
@@ -120,8 +120,8 @@ class feedback_item_multichoicerated extends feedback_item_base {
         //schleife ueber den Werten und ueber die Antwortmoeglichkeiten
 
         $analysedAnswer = array();
-
-        for($i = 1; $i <= sizeof($lines); $i++) {
+        $sizeoflines = sizeof($lines);
+        for($i = 1; $i <= $sizeoflines; $i++) {
             $item_values = explode(FEEDBACK_MULTICHOICERATED_VALUE_SEP, $lines[$i-1]);
             $ans = null;
             $ans->answertext = $item_values[1];
@@ -215,7 +215,8 @@ class feedback_item_multichoicerated extends feedback_item_base {
         $worksheet->write_string($rowOffset, 1, $analysed_item[1], $xlsFormats->head2);
         if(is_array($data)) {
             $avg = 0.0;
-            for($i = 0; $i < sizeof($data); $i++) {
+            $sizeofdata = sizeof($data);
+            for($i = 0; $i < $sizeofdata; $i++) {
                 $aData = $data[$i];
 
                 // $worksheet->setFormat("<l><f><ro2><vo><c:blue>");
index 161b482..1b4cd13 100644 (file)
@@ -142,7 +142,8 @@ class feedback_item_textarea extends feedback_item_base {
                 $worksheet->write_string($rowOffset, 2, $data[0], $xlsFormats->value_bold);
             }
             $rowOffset++;
-            for($i = 1; $i < sizeof($data); $i++) {
+            $sizeofdata = sizeof($data);
+            for($i = 1; $i < $sizeofdata; $i++) {
                 // $worksheet->setFormat("<l><vo>");
                 $worksheet->write_string($rowOffset, 2, $data[$i], $xlsFormats->default);
                 $rowOffset++;
index e4cb6d2..74f9b88 100644 (file)
@@ -139,7 +139,8 @@ class feedback_item_textfield extends feedback_item_base {
             // $worksheet->setFormat("<l><ro2><vo>");
             $worksheet->write_string($rowOffset, 2, $data[0], $xlsFormats->value_bold);
             $rowOffset++;
-            for($i = 1; $i < sizeof($data); $i++) {
+            $sizeofdata = sizeof($data);
+            for($i = 1; $i < $sizeofdata; $i++) {
                 // $worksheet->setFormat("<l><vo>");
                 $worksheet->write_string($rowOffset, 2, $data[$i], $xlsFormats->default);
                 $rowOffset++;
index da05ba1..300a0e7 100644 (file)
@@ -73,7 +73,8 @@ class qformat_blackboard_six extends qformat_default {
         }
 
         // Delete all files in the curent directory return false and halt if a file cannot be removed
-        for($i=0; $i<count($dir_files); $i++) {
+        $countdir_files = count($dir_files);
+        for($i=0; $i<$countdir_files; $i++) {
             chmod($dir_files[$i], $CFG->directorypermissions);
             if (((unlink($dir_files[$i]))) == FALSE) {
                 return false;
@@ -81,7 +82,8 @@ class qformat_blackboard_six extends qformat_default {
         }
 
         // Empty sub directories and then remove the directory
-        for($i=0; $i<count($dir_subdirs); $i++) {
+        $countdir_subdirs = count($dir_subdirs);
+        for($i=0; $i<$countdir_subdirs; $i++) {
             chmod($dir_subdirs[$i], $CFG->directorypermissions);
             if ($this->clean_temp_dir($dir_subdirs[$i]) == FALSE) {
                 return false;
index fe3e817..0275924 100644 (file)
@@ -168,7 +168,8 @@ class question_edit_calculatedsimple_form extends question_edit_form {
                     $calcmax = optional_param('calcmax', '', PARAM_NUMBER);
                     $oldoptions  = optional_param('defoptions', '', PARAM_RAW);
                     $newdatasetvalues = false ;
-                    for($key = 1 ; $key <= sizeof($olddef) ; $key++) {
+                    $sizeofolddef = sizeof($olddef);
+                    for($key = 1; $key <= $sizeofolddef; $key++) {
                         $def = $olddef[$key] ;
                         $this->datasetdefs[$def]= new stdClass ;
                         $this->datasetdefs[$def]->type = 1;