PHP字符串分割

问题描述:

我需要将一个字符串分解成2,2,3,3字块,并能够通过解包在Perl这样做:PHP字符串分割

unpack("A2A2A3A3", 'thisisloremipsum'); 

但是同样的功能不工作PHP,它给出了这个输出:

Array 
(
    [A2A3A3] => th 
) 

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

由于提前,

引用的unpack手册页:

unpack()工作方式略有不同 从Perl作为解包数据是 存储在关联数组。
要做到这一点,你必须 名称不同格式代码用斜线分开它们/


这意味着,使用这样的事情:

$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) 
+0

谢谢!我用斜线将它们分开,但无法弄清楚命名的事情。 (解包(“A2/A2/A3/A3”,'thisisloremipsum')); 因为这一个不工作..它可以至少创建一个索引本身。 :/再次感谢.. – deniz 2010-04-08 11:08:49

+0

是的,我想如果默认情况下它可以创建一个数字索引会有用/有帮助......但这不是它的工作方式,所以我们没有太多的选择^^ – 2010-04-08 11:11:56

我从来没有用过这个功能,但根据文档中,A字符表示“SPACE填充的字符串”。所以我猜测它只是取第一个单词的前两个字符。

您试过unpack("A2A2A3A3", 'this is lorem ipsum');