0

私は行を分解しました:

$e_line = explode(" ", $lineDetails2[0]);

そして、このコードを使用すると: ' print_r($e_line); ' これにより、次のように表示されます。

Array ( [0] => S1 [1] => T5000 [2] => IR [3] => 0.110796 [4] => V [5] => 0.000 [6] => 5.000 ) 7 

もう1つは次のとおりです。

配列 ([0] => TestInfo ) 1 .

その配列の値をカウントしたいと思います。'count($e_line); を使用しました。' これは、最初の配列に対して 7 の値を返し、2 番目の配列に対して 1 の値を返します。しかし、条件を使用すると '

if(count($e_line == 1){ echo $e_line[0] ', 

両方の配列が表示されます。「TestInfo」だけを表示したいのですが、「S1」も表示されてしまいます。助けてください。前もって感謝します!!:)

4

1 に答える 1

0

これはcount()、スカラー値が常に 1 を返すために発生します。この場合はブール式$e_line == 1です。この動作は、マニュアルにも記載されています。

中かっこの外で比較を行う必要があるため、代わりに次のようにします。

if (count($e_line == 1)) { ... }

あなたは書くべきです:

if (count($e_line) == 1) { ... }

これは の要素数を と比較$e_line1ます。

于 2013-09-25T03:16:54.453 に答える