Fix: Avoid function calls in a FOR loop test part

This commit is contained in:
Regis Houssin 2011-11-06 10:00:45 +01:00
parent 75ed344520
commit 38c4c88b5f
2 changed files with 6 additions and 5 deletions

View File

@ -100,7 +100,8 @@ if (! function_exists('json_decode'))
{ {
$comment = false; $comment = false;
for ($i=0; $i<strlen($json); $i++) $strLength = dol_strlen($json);
for ($i=0; $i<$strLength; $i++)
{ {
if (! $comment) if (! $comment)
{ {
@ -1466,8 +1467,6 @@ function isValidPhone($address)
*/ */
function dol_strlen($string,$stringencoding='UTF-8') function dol_strlen($string,$stringencoding='UTF-8')
{ {
// print $stringencoding."xxx";
// $stringencoding='rrr';
if (function_exists('mb_strlen')) return mb_strlen($string,$stringencoding); if (function_exists('mb_strlen')) return mb_strlen($string,$stringencoding);
else return strlen($string); else return strlen($string);
} }
@ -4205,7 +4204,8 @@ function dol_sort_array(&$array, $index, $order='asc', $natsort=0, $case_sensiti
function utf8_check($str) function utf8_check($str)
{ {
// We must use here a binary strlen function (so not dol_strlen) // We must use here a binary strlen function (so not dol_strlen)
for ($i=0; $i<strlen($str); $i++) $strLength = dol_strlen($str);
for ($i=0; $i<$strLength; $i++)
{ {
if (ord($str[$i]) < 0x80) continue; // 0bbbbbbb if (ord($str[$i]) < 0x80) continue; // 0bbbbbbb
elseif ((ord($str[$i]) & 0xE0) == 0xC0) $n=1; // 110bbbbb elseif ((ord($str[$i]) & 0xE0) == 0xC0) $n=1; // 110bbbbb

View File

@ -767,7 +767,8 @@ function binhex($bin, $pad=false, $upper=false)
function hexbin($hexa) function hexbin($hexa)
{ {
$bin=''; $bin='';
for($i=0;$i<dol_strlen($hexa);$i++) $strLength = dol_strlen($hexa);
for($i=0;$i<$strLength;$i++)
{ {
$bin.=str_pad(decbin(hexdec($hexa{$i})),4,'0',STR_PAD_LEFT); $bin.=str_pad(decbin(hexdec($hexa{$i})),4,'0',STR_PAD_LEFT);
} }