Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   if в цикле for (https://javascript.ru/forum/server/52787-if-v-cikle.html)

optron 06.01.2015 23:15

if в цикле for
 
$free = 0;
$plat = 0;
$str ='блабла free<br>блабла plat<br>блабла free<br>';
$k = explode('<br>',$str);

for ($i = 0; $i <= count($s) - 1; $i++) {
$k[$i] = explode(' ',$k[$i]);

  if($k[$i][1] == 'free'){
  $free = $free + 1;
  }
 
   if($k[$i][1] == 'plat'){
  $plat = $plat + 1;
  }

}


Переменные $free и $plat постоянно равны нулю.
Как сделать чтобы работало?

Safort 06.01.2015 23:19

Попробуй так:

if($k[$i] == 'free'){
  $free = $free + 1;
  }
  
   if($k[$i] == 'plat'){
  $plat = $plat + 1;
  }



Я на PHP давно не прогал, так что могу ошибаться.

optron 06.01.2015 23:28

не, не прокатит

optron 07.01.2015 01:24

Разобрался, похоже, что проблема была в разных кодировках

ruslan_mart 07.01.2015 12:34

Для переборки массива используй foreach.

$free = 0;
$plat = 0;
$str ='блабла free<br>блабла plat<br>блабла free<br>';
$k = explode('<br>', $str);

foreach($k as $val)
    $val = preg_split('/\s+/', $val);
    if($val == 'free') $free++;
    else if($val == 'plat') $plat++;
}


Часовой пояс GMT +3, время: 09:32.