2013-09-25 43 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