我需要将一个字符串拆分为2,2,3,3个字符的块,并且能够通过使用unpack在Perl中执行此操作:
unpack("A2A2A3A3", 'thisisloremipsum');
但是同样的功能在PHP中不起作用,它给出了这个输出:
Array
(
[A2A3A3] => th
)
我怎么能通过使用unpack来做到这一点?我不想为它编写一个函数,应该可以解压但是如何?
提前致谢,
解决方法:
引用unpack的手册页:
unpack() works slightly different
from Perl as the unpacked data is
stored in an associative array.
To accomplish this you have to
name the different format codes and separate them by a slash /.
这意味着,使用这样的东西:
$a = unpack("A2first/A2second/A3third/A3fourth", 'thisisloremipsum');
var_dump($a);
您将获得以下输出:
array
'first' => string 'th' (length=2)
'second' => string 'is' (length=2)
'third' => string 'isl' (length=3)
'fourth' => string 'ore' (length=3)
标签:unpack,php,split
来源: https://codeday.me/bug/20190827/1741076.html