Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите переделать функцию с js на PHP (https://javascript.ru/forum/misc/61340-pomogite-peredelat-funkciyu-s-js-na-php.html)

labzov 13.02.2016 22:52

Помогите переделать функцию с js на PHP
 
Доброй ночи, :help: :help: :help:

Вообщем нужно переделать данную функцию под php
function u(e) {
                for (var i, t = e.length, o = t + 8, s = (o - o % 64) / 64, n = 16 * (s + 1), a = Array(n - 1), r = 0, l = 0; t > l;) i = (l - l % 4) / 4, r = l % 4 * 8, a[i] = a[i] | e.charCodeAt(l) << r, l++;
                return i = (l - l % 4) / 4, r = l % 4 * 8, a[i] = a[i] | 128 << r, a[n - 2] = t << 3, a[n - 1] = t >>> 29, a
            }


Вот моя переделка но не работающая корректно:
function u($e) {
	$i = 0;
	$t = strlen($e);
	$o = $t + 8;
	$s = ($o - $o % 64) / 64;
	$n = 16 * ($s + 1);
	$a = Array($n - 1);
	$r = 0;
	
    for ($l = 0; $t > $l; $l++){
		$i = ($l - $l % 4) / 4;
		$r = $l % 4 * 8;
		$a[$i] = $a[$i] | $e[$l] << $r;
	}
	$i = ($l - $l % 4) / 4;
	$r = $l % 4 * 8;
	$a[$i] = $a[$i] | 128 << $r;
	$a[$n - 2] = $t << 3;
	$a[$n - 1] = abs($t >> 29);
    return $a;
}


Спасибо за помощ!

laimas 14.02.2016 10:36

function u($e) {
    for ($i, $t = strlen($e), $o = $t + 8, $s = ($o - $o % 64)/64, $n = 16 * ($s + 1), $a = [], $r = 0, $l = 0; $t > $l;) {
        $i = ($l - $l % 4)/4; 
        $r = $l % 4 * 8; 
        $a[$i] = $a[$i] | ord($e[$l]) << $r; 
        $l++;    
    }
    $i = ($l - $l % 4) / 4;
    $r = $l % 4 * 8;
    $a[$i] = $a[$i] | 128 << $r;
    $a[$n - 2] = $t << 3;
    $a[$n - 1] = $t >> 29;

    return($a);
}


Часовой пояс GMT +3, время: 11:55.