将浮点数转换为 PHP 中的字节数组

Convert float to array of bytes in PHP

我需要将一个浮点值转换成 4 个字节。

在javascript中我通常用这个代码来做:

  var farr = new Float32Array(1);
  farr[0] = 26.75;
  var barr = new Int8Array(farr.buffer);
  console.log(barr[0]+","+barr[1]+","+barr[2]+","+barr[3]); 
  //26.75 => 0,0,-42,65
  //26.85 => -51,-52,-42,65

我想在 php 而不是 javascript 中完成。可以吗?

尝试使用pack and unpack函数:

$f = 26.75;
$ar = unpack("c*", pack("f", $f));

print_r($ar);

结果:

Array
(
  [1] => 0
  [2] => 0
  [3] => -42
  [4] => 65
)

你可以找到一个片段here