

PHPで、  
ある変数$hoge  
があるとします

$hogeを、  
１、２に分割したいと思います

１は、$hogeの先頭から32文字、  
２は、１の残りで、最大38文字

に分割するにはどのような書き方をすればよいでしょうか

よろしくお願いいたします


CC BY-SA 3.0
2017-01-18T01:32:46.390
31927
2017-04-24T15:57:08.910
13381
question
php
PHP文字列の分割


単純なのだとこうかな

[code]

    //先頭(0文字目)から32文字目まで
    $a1=substr($hoge, 0, 32);
    //33文字目から最後まで
    $a2=substr($hoge, 33);
    
[/code]

一旦配列にするならこうかな

[code]

    //32文字区切りで配列にする
    $arr=str_split($hoge, 32);
    //先頭要素切り取り
    $a1=array_shift($arr);
    //残り結合
    $a2=implode($arr);
    
[/code]


CC BY-SA 3.0
2017-01-18T01:51:34.597
31930
2017-01-18T01:51:34.597
31927
answer


別解として `preg_match()` を使う場合などを。

[code]

    preg_match('/^(.{32})(.{0,38})/',
        'abcdefghijklmnopqrstuvwxyz0123456789',
        $match);
    
    echo "$match[1]\n";
    echo "$match[2]\n";
    =>
    abcdefghijklmnopqrstuvwxyz012345
    6789
    
[/code]


CC BY-SA 3.0
2017-01-18T02:31:53.543
31931
2017-01-18T02:31:53.543
31927
answer