0

の助けを借りてデータベースから取得したこの文字列を分割したいPHP

文字列 Rahul:12345644、Jatin:23452223、Raman:33343212

これを以下の結果形式で表示するにはどうすればよいですか。

  Array
    (
        [0] => Rahul 
            (
                [0] => 12345644
            )

        [1] => Jatin
            (
                [0] => 23452223
            )

        [2] => Raman
            (
                [0] => 33343212
            )

    )   

私はこれを試してみました

$arrayData = explode(",", $data);

結果は

Array
        (
            [0] => Rahul :12345644
            [1] => Jatin :23452223               
            [2] => Raman :33343212
        )

以降

foreach($arrayData as $eachValue) {
 echo $eachValue;
}
4

2 に答える 2

2

多分:

$resultArray = array();
$arrayData = explode(",", $data);
foreach($arrayData as $eachValue) {
    $resultArray[] = explode(':',$eachValue);
}

これは(少なくとも)有効な配列構造です

Array ([0] => Array ([0] Rahul 
                     [1] => 12345644
                    )
       [1] => Array ([0] Jatin
                     [1] => 23452223
                    )
       [2] => Array ([0] Raman
                     [1] => 33343212
                    )
     )
于 2013-01-07T11:54:37.907 に答える
1

等号とアンパサンドを使用するように形式を変更する場合は、PHPの組み込み関数を使用できますparse_str()

例えば:

$input = "Rahul=12345644&Jatin=23452223&Raman=33343212";
parse_str($input, $output);
print_r($output);

与える:

Array
(
    [Rahul] => 12345644
    [Jatin] => 23452223
    [Raman] => 33343212
)

それはあなたが求めているものにかなり近いです。

既存の形式を維持したいが、それでも使用したい場合は、以下を呼び出すためだけにコロンとコンマを交換するために、または同様のものを使用parse_str()できます。str_replace()strtr()parse_str()

$input = "Rahul:12345644,Jatin:23452223,Raman:33343212";
parse_str(strtr($input,':,','=&'),$output);

お役に立てば幸いです。

于 2013-01-07T12:43:51.307 に答える