0

結果を2つの異なる配列に分解して分離しようとしています

One One_x
Two Two_xx
Three Three_xxx
Four Four_xxxx

最初にブレークラインを分解したい(\ n)..
次に、スペースを分解して、配列内のすべてのOne 、Two、Three、Fourと、別の配列内の
One_x 、Two_xx、Three_xxx、Four_xxxxを考え出します。

ブレークラインを爆発させようとした

$ex = explode("\n", $numbers);

それから

foreach($ex as $number){
  $ex = explode(" ", $number);
}

しかし、それは私には少し混乱しているようです、

これを解決する方法は?

4

2 に答える 2

3
$array1 = array();
$array2 = array();
foreach($ex as $number){
  $tmp = explode(" ", $number);
  $array1[] = $tmp[0];
  $array2[] = $tmp[1];
}

私が思う最も簡単な方法

$ex編集:あなたがループに設定することに注意してください...良い考えではありません。別の変数を使用する

于 2012-08-12T14:01:45.840 に答える
1

runnigが1回または2回爆発する代わりに、正規表現は入力を一度に分割し、その構造をアサートできます。

 preg_match_all('/
         ^         # line start
         (\w+)     # One, Two, ...
         \s+       # spaces
         (\w+)     # Four_xxxxx
         $         # line end
      /smix',
      $input,
      $array
 );
 print_r($array);

あなたに与えるでしょう:

[0] => Array
    (
        [0] => One One_x
        [1] => Two Two_xx
        [2] => Three Three_xxx
        [3] => Four Four_xxxx
    )

[1] => Array
    (
        [0] => One
        [1] => Two
        [2] => Three
        [3] => Four
    )

[2] => Array
    (
        [0] => One_x
        [1] => Two_xx
        [2] => Three_xxx
        [3] => Four_xxxx
    )

末尾の_xxxx(?)番号を使用PREG_SET_ORDERまたは抽出することもできます。

于 2012-08-12T14:01:48.350 に答える