Всё очень просто мой друг - это будет стоить вам паре минут времени и одной строчки кода. Все подробности в данном видео. Скрипт прикреплён в комментариях на ютубе. В видео тоже есть скрипт по этому можете писать его вместе со мной.
Работать будет, но если этот код планируется использовать на сайте, доступном всем желающим - необходимо обязательно и очень тщательно проверять содержимое переменных first и second и использовать их только в том случае, если они корректны.
Да можно вообще ничего не устанавливать. Берешь открываешь блокнот и печатаешь себе строчку за строчкой, строчку за строчкой и чем больше тем лучше. Пока синтаксис операторов от кончиков пальцев в слепой печати отскакивать не будет.
А вот когда синтаксис мы уже знаем тогда можно будет и автоматизировать процесс написания, так как нам надо будет уже думать не над синтаксисом, а над логикой сценария.
Лично я бы посоветовал б/п вот аткую программку Adobe Dreamweaver. Отличная среда разработки. Три режима разработки, подсветка кода, автовставка и многое другое.
Дело в примере далеко не в foreach. Здесь имеет место тяжёлый случай для языков программирования, в которых тип данных для переменной не определяется строго, к которым и относится PHP. Попробуйте заменить первый элемент массива на любое другое число - и этого "глюка" уже не будет.
Проблема в том, что интерпертатор PHP пытается сам подобрать подходящий для сравнения тип данных у переменной $value. Думаю, его логика такая, что он считает $value логической переменной (Boolean), в результате 0 превращается в FALSE. Но на другой стороне сравнения стоит одна буковка (Char), в результате чего FALSE преобразуется до F.
Чтобы избавиться от этого "глюка", можно использовать такие варианты:
Явно указать тип переменной $value в сравнении.
Использовать строгую проверку, чтобы PHP не приводил сравниваемые данные к наиболее подходящему типу.