从字符串获取数组

时间:2019-12-03 11:08:10

标签: php arrays string split

我有一个字符串示例1234567899999987654321112309101

First 3 characters is data0
Second 2 characters is data1
Third 9 characters is data2
Fourth 5 characters is data3
Fifrt 12 characters is data4
First: 123
Second: 45
Third: 678999999
Fourth: 87654
Fifth: 321112309101

如何在数据长度不同的数组中拆分此字符串。

1 个答案:

答案 0 :(得分:1)

您可以使用substr()函数:

3

输出:

(r // 2) * 2
r -> row_start
1 -> 0 
2 -> 2 
3 -> 2
4 -> 4
5 -> 4
6 -> 6

(c // 3) * 2
c -> col_start
1 -> 0
2 -> 0
3 -> 2
4 -> 2
5 -> 2
6 -> 4

Demo

如果字符串太大,并且您具有定义的长度值数组,则可以使用以下循环:

$str = '1234567899999987654321112309101';
$res = [];
$res[] = substr($str,0,3);    // chars 1-3
$res[] = substr($str,3,2);    // chars 4-5
$res[] = substr($str,5,9);    // chars 6-14
$res[] = substr($str,14,5);   // chars 15-19
$res[] = substr($str,19,12);  // chars 20-31

输出:

Array
(
    [0] => 123
    [1] => 45
    [2] => 678999999
    [3] => 87654
    [4] => 321112309101
)

Demo2