Сравнивая строку в php


Хотел бы знать, как я могу сравнить содержимое строки в PHP.
Ищу слово в строке, но я не знаю, в каком положении она находится.

$ch_atend
if($linha == "idle") { $ch_atend = $ch_atend++; };

Этот код, это внутри "While" и цель похода строки, чтобы подсчитать, сколько раз появляется слово IDLE.

 4
php
Author: Erlon Charles, 2014-06-17

2 answers

Я Не знаю точно, откуда приходит ваш $linha, но я вижу два варианта. Или сравнивает, как это сделать, и тогда только дает true, если $linha имеет только символы `idle`;

И потом поиск в последовательности букв с RegEx.

Но atênção: переменную $ch_atend должна быть возложена 0 из while.

Вариант 1:

$ch_atend = 0;
while(<condição>){
    if($linha == "idle") { $ch_atend = $ch_atend++; };

Вариант 2 -

$ch_atend = 0;
while(<condição>){
    if(preg_match('/idle/', $linha )) { $ch_atend = $ch_atend++; };
 3
Author: Sergio, 2014-06-17 17:22:53

PHP уже содержит функцию готова для подсчета вхождений подстроки в строки, substr_count. При этом, цикл " строка-строка не требуется. Использование выглядит так:

$texto = "um texto grande ... \n multilinha ... \n sei lá mais o que ...";
$ocorrencias = substr_count($texto, '...');
echo $ocorrencias; // 3
 4
Author: bfavaretto, 2014-06-17 17:23:15