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

, а другой является:

Array ([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_line против 1.

+0

О, я вижу! БЛАГОДАРЯ!! – aiipee

Смежные вопросы