Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP字符串拆分_Php_Split_Unpack - Fatal编程技术网

PHP字符串拆分

PHP字符串拆分,php,split,unpack,Php,Split,Unpack,我需要将一个字符串拆分为2,2,3,3个字符的块,并且能够在Perl中使用unpack实现这一点: unpack("A2A2A3A3", 'thisisloremipsum'); 但是,相同的函数在PHP中不起作用,它提供以下输出: Array ( [A2A3A3] => th ) 如何使用unpack完成此操作?我不想为它写一个函数,解包应该可以实现,但是如何实现呢 提前感谢,引用手册页: unpack()的工作原理略有不同 从Perl获取,因为未打包的数据 存储在关联数组中

我需要将一个字符串拆分为2,2,3,3个字符的块,并且能够在Perl中使用unpack实现这一点:

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)

我从未使用过此函数,但根据文档,
A
字符表示“空格填充字符串”。所以我冒昧地猜测它只包含第一个单词的前两个字符


您是否尝试过解包(“A2A3A3”,“这是lorem ipsum”)

谢谢!我用斜线把它们分开,但不知道它们的名字。打印(打开包装(“A2/A2/A3/A3”,“thisisloremipsum”);因为这个坏了。。它至少可以自己创建一个索引。:/再次感谢..是的,我想如果它能在默认情况下创建一个数字索引会很有用/有用。。。但这不是它的工作方式,所以我们没有太多的选择^^