PHP — язык программирования для веба. Позволяет писать как в императивный код, так и объектно-ориентирова<wbr />нный.
Императивный стиль написания программы проще, так как более интуитивный. Объектно-ориентирова<wbr />нный подход требует предварительного освоения, понимания концепций, не являющихся интуитивно понятными.
Впрочем, не только PHP позволяет писать код в нескольких парадигмах, и даже смешивать их в одной программе.
У PHP хорошая справка, где расписана каждая функция. Причём есть вариант и на русском языке. При этом язык развивался очень долго силами сообщества, поэтому у различных фукнций может различаться формат задания аргументов. Это неудобно и обычно порождает у новичков вопросы. В этих случая лучше не докапываться до глубинного смысла, потому что его нет. Просто один человек так сделал, а другой по-своему.
PHP позволяет много вольностей в коде. Кому-то это нравится, а кому-то набивает шишки на лбу. Многие ругают PHP за это. Но в итоге именно программист несёт ответственность ( или не несёт ) за свой код. Зачастую выходит так, что чужие программы, написанные на PHP, очень трудно понять. И тогда простота языка делает его наоборот очень сложным.
Если нет ошибок и переменные $Rtwo и $Rtree остаются пустыми, значит не выполнилось ни одно условие. Неплохо было бы взглянуть на значения остальных переменных, что бы знать, пос=чему ни один if не срабатывает.
А так, попробуйте во всех условиях заменить оператор and на &&. Они-то вроде как одинаковые, но у && приоритет выше. Поэтому в некоторых случаях эти два оператора могут давать различный результат.
сайт msdn там много всего полезного, а также есть автор Шилдт по-моему, руководство по с# правда там только создание консольных приложений, без использования визуальных компонентов. Используйте лучше всего Visual Studio 10 и выше, и изучайте свойства и методы визуальных компонетов - элементов, создание классов и т.п.
Так как РНР - предназначен в основном для интернета. До сих пор в РНР использовали скрипты - (небольшие программные включения) - но Интернет развивается. И уже его проблемы или запросы сложно обеспечить небольшими скриптами.
Дело в примере далеко не в foreach. Здесь имеет место тяжёлый случай для языков программирования, в которых тип данных для переменной не определяется строго, к которым и относится PHP. Попробуйте заменить первый элемент массива на любое другое число - и этого "глюка" уже не будет.
Проблема в том, что интерпертатор PHP пытается сам подобрать подходящий для сравнения тип данных у переменной $value. Думаю, его логика такая, что он считает $value логической переменной (Boolean), в результате 0 превращается в FALSE. Но на другой стороне сравнения стоит одна буковка (Char), в результате чего FALSE преобразуется до F.
Чтобы избавиться от этого "глюка", можно использовать такие варианты:
- Явно указать тип переменной $value в сравнении.
- Использовать строгую проверку, чтобы PHP не приводил сравниваемые данные к наиболее подходящему типу.