2013-09-25 44 views
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 

并且另一个是:

阵列([0] => TestInfo)1。我想计数该数组的值。我用'count($ e_line); ',第一个数组返回7,第二个数组返回1。但是,当我使用条件'

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

这两个数组都会显示。 我只想显示'TestInfo',但'S1'也会显示。请帮忙。提前致谢!! :)

回答

0

发生这种情况是因为标量值上的count()将始终返回1,在这种情况下,它是布尔表达式$e_line == 1。在manual中也描述了此行为。

你应该采取比较大括号外的,所以不是:

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

你应该写:

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

$e_line1元素的数量进行比较。

+0

哦,我明白了!谢谢!! – aiipee