簡體   English   中英

如何在 php 中將字符串與長字符串分開

[英]How to separate string from a long string in php

我有一個字符串

1~anil~anil@gmail.com~9999111132~2~nikhil~nikhil@gmail.com~047027282~3~nimmy~nimm@gmail.com~9127282

結果應該是

1~anil~anil@gmail.com~9999111132
2~nikhil~nikhil@gmail.com~047027282
3~nimmy~nimm@gmail.com~9127282

像這樣簡單的事情就可以了

$in = '1~anil~anil@gmail.com~9999111132~2~nikhil~nikhil@gmail.com~047027282~3~nimmy~nimm@gmail.com~9127282';

$bits = explode('~', $in);

$newArr = [];

for ($i=0; $i<count($bits); $i+=4){
    // if you want results in an array
    $newArr[] = sprintf('%s~%s~%s~%s', $bits[$i], $bits[$i+1], $bits[$i+2], $bits[$i+3]);
}
print_r($newArr);

結果

Array
(
    [0] => 1~anil~anil@gmail.com~9999111132
    [1] => 2~nikhil~nikhil@gmail.com~047027282
    [2] => 3~nimmy~nimm@gmail.com~9127282
)

評論添加

只需更改 for 循環中的代碼以創建您喜歡的格式的數組

for ($i=0; $i<count($bits); $i+=4){
    $newArr[] = ['id'=> $bits[$i],
                 'name'=> $bits[$i+1],
                 'email'=> $bits[$i+2],
                 'mobileno'=> $bits[$i+3]
      ];
}

現在的結果

Array (
    [0] => Array (
            [id] => 1
            [name] => anil
            [email] => anil@gmail.com
            [mobileno] => 9999111132
        )
    [1] => Array (
            [id] => 2
            [name] => nikhil
            [email] => nikhil@gmail.com
            [mobileno] => 047027282
        )
    [2] => Array (
            [id] => 3
            [name] => nimmy
            [email] => nimm@gmail.com
            [mobileno] => 9127282
        )
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM