Java-for-each idiom может применяться только к массивам или объектам типа * Iterable. Эта идиома неявная , поскольку она действительно поддерживается Итератором. Итератор запрограммирован программистом и часто использует целочисленный индекс или узел (в зависимости от структуры данных), чтобы отслеживать его положение. На бумаге он медленнее, чем обычный цикл for, в меньшей степени для «линейных» структур, таких как массивы и списки, но обеспечивает большую абстракцию.
Из http://www.php.net/manual/en/function.strpos.php :
Предупреждение
Это функция может возвращать Boolean FALSE, но может также возвращать небулевое значение, которое оценивается как FALSE, например 0 или «". Пожалуйста, прочитайте раздел Booleans для получения дополнительной информации. Используйте the === operator для проверки возвращаемого значения этой функции.
blockquote>Вы должны использовать оператор
===
вместо==
.В вашем случае вместо
<>
используйте!==
:strpos($grafik['data'], $ss1) !== false
Это вернет TRUE, если
$ss1
находится в$grafik['data']
Вам нужно проверить с помощью ===. Это гарантирует, что у вас есть точное значение false, а не 0.
Эта функция ведет себя непредсказуемо, поэтому, чтобы быть уверенным, что она будет иметь детерминированное поведение, используйте либо
if(strpos($text,$string)===false)
, либо проверите ее с помощью переменной
$pos=strpos($text,$string);
if($pos===false)