文字列がある場合:
123+0,456+1,789+2,
私は次のことができることを理解しています:
$test = 123+0,456+1,789+2,;
$test = explode(",", $test);
これにより、「,」の間の各セクションの配列が作成されます。
次に、領域の各部分で「+」を爆発させるにはどうすればよいですか? どうすればアクセスできますか?
これはおそらく非常に単純な質問だと思いますが、私が試したことはすべて失敗しました。
ありがとうございました。
文字列がある場合:
123+0,456+1,789+2,
私は次のことができることを理解しています:
$test = 123+0,456+1,789+2,;
$test = explode(",", $test);
これにより、「,」の間の各セクションの配列が作成されます。
次に、領域の各部分で「+」を爆発させるにはどうすればよいですか? どうすればアクセスできますか?
これはおそらく非常に単純な質問だと思いますが、私が試したことはすべて失敗しました。
ありがとうございました。
なぜ再び爆発を使わないのですか?今回は区切り文字として「,」ではなく「+」を使用します。
$test = 123+0,456+1,789+2,;
$test = explode(",", $test);
foreach($test as $test_element){
$explodedAgain = explode("+", $test_element);
var_dump($explodedAgain);
}
$test = "123+0,456+1,789+2,";
$test2 = explode(",", $test);
foreach($test2 as &$v) {
$v=explode("+", $v);
}
これにより多次元配列が作成され、次の方法でアクセスできます。
$test2[1][0]; // =456
preg_match_all('/((\d+)\+(\d)),+/', $test, $matches);
var_export($matches);
array (
0 =>
array (
0 => '123+0,',
1 => '456+1,',
2 => '789+2,',
),
1 =>
array (
0 => '123+0',
1 => '456+1',
2 => '789+2',
),
2 =>
array (
0 => '123',
1 => '456',
2 => '789',
),
3 =>
array (
0 => '0',
1 => '1',
2 => '2',
),
)
主な部分は $matches[1] にあります ("," で分割) - キー 1 の下の結果の場合、二次的な分割は $matches[2][1] と $matches[3][1] にあります