$string = "1-2-3-4 5-6-7-8";
' - '=分离值
''=新数组
$array1 = explode("-", $string, 4);
到目前为止,我有这个代码,它将执行值1到4但我希望它停在4并创建一个新集。
实施例
$SET_1[0] = 1
$SET_1[1] = 2
$SET_1[2] = 3
$SET_1[3] = 4
然后
$SET_2[0] = 5
$SET_2[1] = 6
$SET_2[2] = 7
$SET_2[3] = 8
任何建议都会受到赞赏,在将它们放入数组之后,我将如何解决这个问题呢?
答案 0 :(得分:5)
$string = "1-2-3-4-5-6-7-8";
$data = array_chunk(explode('-', $string), 4);
将返回
$data = array(
array('1', '2', '3', '4'),
array('4', '5', '6', '7')
);
** 更新 **
这将创建一个包含每个最多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);
将输出
$data2 = array(
array('1', '2', '3', '4'),
array('5', '6', '7', '8', '9', '10')
);
答案 1 :(得分:0)
首先将空格分成数字组块,然后用“ - ”将数字拆分成数组。您需要使用Regex分割空白。
你应该使用preg_split(regex, string)
,而空白字符在正则表达式中是\ s。所以像preg_split('/\s/', $string)
。
答案 2 :(得分:0)
你想要的是多维数组:
类似
$set[i] = explode('-',$string, 4)
然后将其嵌套在循环中并遍历字符串,您将能够访问每个单独的字符
$set[i][j]
其中i是集合索引,j是1,2,3或4