0

PHPには、次の文字列変数があります。

$var = " 00480722                ZF452D041502    13      9900        153370178";

するとexplode、次のようなものが得られます。

$var = explode(" ",$var);
echo count($var);

// prints -> 36

したがって、この爆発は 36 要素の配列を作成し、そのほとんどは"". データ間のこれらの複数のスペースをすべて縮小して、取得できるようにするにはどうすればよいですかexplode

$var[0] -> 00480722
$var[1] -> ZF452D041502
...
$var[4] -> 153370178
4

5 に答える 5

2

正規表現 splitを使用できます。

$var = preg_split('/\s+/', trim($var));

これは、任意の数の連続する空白文字で分割されます。はtrim、入力文字列の先頭および/または末尾での空の一致を防ぐために使用されます。

于 2012-04-05T14:33:37.677 に答える
1

試す

$var = " 00480722                ZF452D041502    13      9900        153370178";
$var = explode(" ",$var);
$var = array_filter($var);
echo count($var);

出力

5

Var ダンプ

var_dump($var);

  array
  1 => string '00480722' (length=8)
  17 => string 'ZF452D041502' (length=12)
  21 => string '13' (length=2)
  27 => string '9900' (length=4)
  35 => string '153370178' (length=9)

ありがとう

于 2012-04-05T14:33:42.473 に答える
0

別の方法として、複数のスペースを1つのスペースに置き換えます。

$var = preg_replace("/ {2,}/", " ", $var); //spaces only
$var = preg_replace("/\s{2,}/", " ", $var); //all whitespaces e.g. line breaks, space etc.
于 2012-04-05T14:38:06.597 に答える
0
$var = explode(' ',preg_replace('/( +)/', ' ',$var));
于 2012-04-05T14:38:33.667 に答える
0
$var = array_values(array_filter($var));
于 2012-04-05T14:33:41.057 に答える