【问题标题】:PHP using explodePHP 使用爆炸
【发布时间】:2012-08-12 13:54:25
【问题描述】:

我正在尝试分解并将结果分成 2 个不同的数组

One One_x
Two Two_xx
Three Three_xxx
Four Four_xxxx

我首先要分解断线( \n )..
然后爆炸空间以在数组中找到所有 一、二、三、四
AND One_x、Two_xx、Three_xxx、Four_xxxx 在不同的数组中

我试图炸开断线

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

然后

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

但我觉得有点困惑,

如何解决?

【问题讨论】:

  • 你是怎么解决这个问题的?

标签: php arrays split explode


【解决方案1】:
$array1 = array();
$array2 = array();
foreach($ex as $number){
  $tmp = explode(" ", $number);
  $array1[] = $tmp[0];
  $array2[] = $tmp[1];
}

我认为最简单的方法

编辑:关心你在循环中设置$ex ...不是一个好主意。使用另一个变量

【讨论】:

    【解决方案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
        )
    

    也可以使用PREG_SET_ORDER 甚至提取尾随的_xxxx (?) 数字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多