打破一个字符串

bla*_*now 1 php

$string = "1-2-3-4 5-6-7-8";
Run Code Online (Sandbox Code Playgroud)

' - '=分离值

''=新数组

$array1 = explode("-", $string, 4);
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这个代码,它将执行值1到4,但我希望它停在4并创建一个新集.

防爆.


$SET_1[0] = 1
$SET_1[1] = 2
$SET_1[2] = 3
$SET_1[3] = 4
Run Code Online (Sandbox Code Playgroud)

然后

$SET_2[0] = 5
$SET_2[1] = 6
$SET_2[2] = 7
$SET_2[3] = 8
Run Code Online (Sandbox Code Playgroud)

任何建议都会受到赞赏,我将它们放入数组后如何反转?

Yan*_*hon 5

使用array_chunk

$string = "1-2-3-4-5-6-7-8";
$data = array_chunk(explode('-', $string), 4);
Run Code Online (Sandbox Code Playgroud)

将返回

$data = array(
   array('1', '2', '3', '4'),
   array('4', '5', '6', '7')
);
Run Code Online (Sandbox Code Playgroud)

**更新**

这将创建一个包含每个最多4个元素的数组.如果您需要' '在字符串中指定的可变大小数组,请改用:

$string2 = "1-2-3-4 5-6-7-8-9-10";

function inner_split(&$items) {
    $items = explode('-', $items);
}
$data2 = explode(' ', $string2);
array_walk($data2, 'inner_split');

var_dump($data2);
Run Code Online (Sandbox Code Playgroud)

哪个会输出

$data2 = array(
   array('1', '2', '3', '4'),
   array('5', '6', '7', '8', '9', '10')
);
Run Code Online (Sandbox Code Playgroud)