如何在php中将字节数组转换为整数?

gch*_*uel 5 php

我见过一个将整数转换为字节数组的代码.下面是关于如何在php 3中将整数转换为字节数组的代码(如何在php中将整数转换为字节数组):

<?php

$i = 123456;
$ar = unpack("C*", pack("L", $i));

print_r($ar);
?>
Run Code Online (Sandbox Code Playgroud)

上面的代码将输出:

//output:
Array
(
   [1] => 64
   [2] => 226
   [3] => 1
   [4] => 0
)
Run Code Online (Sandbox Code Playgroud)

但我现在的问题是如何扭转这一过程.意味着从字节数组转换为整数.在上面的例子中,输出将是123456

任何人都可以帮助我.我会帮助很大.谢谢你.

小智 10

为什么不把它当成数学问题呢?

$ i =($ ar [3] << 24)+($ ar [2] << 16)+($ ar [1] << 8)+ $ ar [0];


Nie*_*sol 5

由于 L 是四个字节长,因此您知道数组元素的数量。因此你可以简单地执行相反的操作:

$ar = [64,226,1,0];
$i = unpack("L",pack("C*",$ar[3],$ar[2],$ar[1],$ar[0]));
Run Code Online (Sandbox Code Playgroud)