Php 从字符串创建数组的最快方法

Php 从字符串创建数组的最快方法,php,Php,Hy 我正在创建一个脚本,将二进制文件加载到数组中,然后自己解析数组(使用解码的二进制数据创建另一个数组:IA5String、Int、String、(basicaly ASN.1)等,然后创建一个.csv) 使我的脚本速度减慢的问题是将十六进制值加载到数组中,我使用以下方法: $hex = explode(" ",rtrim(chunk_split(bin2hex(file_get_contents($filename)),2,' '))); 问题是,explode()函数需要花费大量的时间和

Hy

我正在创建一个脚本,将二进制文件加载到数组中,然后自己解析数组(使用解码的二进制数据创建另一个数组:IA5String、Int、String、(basicaly ASN.1)等,然后创建一个.csv)

使我的脚本速度减慢的问题是将十六进制值加载到数组中,我使用以下方法:

$hex = explode(" ",rtrim(chunk_split(bin2hex(file_get_contents($filename)),2,' ')));
问题是,
explode()
函数需要花费大量的时间和资源,我想知道是否有其他更快或更简单的解决方案来节省一些运行时间


谢谢,str_split是另一个将字符串转换为数组的函数。

以较小的块读取文件,并将其转换为十六进制,然后再进一步如何?这样您需要的内存会更少。是的,但是其中的值是TLV-Tag Length Value,因此我无法将它们分块加载,因为我需要完全按照特定标记的长度加载。。。像0d12xx XX XX XX-0D-tag,12-length(十六进制到十二进制),XX XX XX-content对于每个TLV,您可以读取tag,length,然后根据ss length所说的字节数,将其转换,然后重复。