PHP字符串拆分

den*_*niz 3 php split unpack

我需要将一个字符串拆分为2,2,3,3个字符的块,并且能够通过使用unpack在Perl中执行此操作:

unpack("A2A2A3A3", 'thisisloremipsum');
Run Code Online (Sandbox Code Playgroud)

但是同样的功能在PHP中不起作用,它给出了这个输出:

Array
(
    [A2A3A3] => th
)
Run Code Online (Sandbox Code Playgroud)

我怎么能通过使用unpack来做到这一点?我不想为它编写一个函数,应该可以解压但是如何?

提前致谢,

Pas*_*TIN 6

引用手册页unpack:

unpack()与Perl略有不同,因为解压缩的数据存储在关联数组中.
要完成此操作,您必须 命名不同的格式代码用斜杠分隔它们/.


这意味着,使用这样的东西:

$a = unpack("A2first/A2second/A3third/A3fourth", 'thisisloremipsum');
var_dump($a);
Run Code Online (Sandbox Code Playgroud)

您将获得以下输出:

array
  'first' => string 'th' (length=2)
  'second' => string 'is' (length=2)
  'third' => string 'isl' (length=3)
  'fourth' => string 'ore' (length=3)
Run Code Online (Sandbox Code Playgroud)