2015-01-18 3 views
0

Я новичок в PHP, и я пытаюсь преобразовать простую функцию Javascript в функцию PHP. Мне нужна помощь в преобразовании этого кода в PHP. Большое спасибоПреобразование JavaScript в PHP

var intArrayToHexString = function(arr) { 
       var hex = ""; 
       for (var i = 0; i < arr.length; i++) { 
       if (arr[i] < 16)  
       hex += "0"; 
       hex += arr[i].toString(16); 
       } 
       return hex; 
      }; 

PHP код: в PHP, это то, что я пробовал:

function intArrayToHexString($arr) { 
       $hex = ""; 
       for ($i = 0; $i < strlen($arr); $i++) { 
       if ($arr[$i] < 16)  
       $hex .= "0"; 
       $hex .= $arr[$i]; 
       } 
       return $hex; 
      }; 

PHP код не работает. Помоги мне, пожалуйста.

+0

Что значит "не работает"? –

+0

Вы можете распечатать вывод или что-то еще. –

+1

'strlen' - это функция для получения длины строки, а не длины массива. Я думаю, вы хотите 'count'. Хотя вы можете просто использовать цикл foreach, а не 'for'. –

ответ

0

В php вы используете '.' для конкатенации вместо «+»

$ hex. = "0"; $ hex. = $ Arr [$ i];

+0

спасибо всем, мне нужна помощь в обработке этого кода hex + = arr [i] .toString (16); преобразуйте его в php – john

+0

попробуйте этот путь $ hex. = "0"; $ hex. = (строка) $ arr [$ i]; –

+0

спасибо всем, закрытые вопросы, большое спасибо – john

0

попробовать это

function intArrayToHexString($arr) 
    { 
      $hex = ""; 
      for ($i = 0; $i < count($arr); $i++) 
      { 
        if ($arr[$i] < 16)  
        $hex .= "0"; 
        $hex .= base_convert($arr[$i],10, 16); // or dechex($arr[$i]); 
      } 
      return $hex; 
    } 
Смежные вопросы