Интернет-форум о жизни: теплая атмосфера

Интернет-форум о жизни: теплая атмосфера (http://money-forum.info/index.php)
-   Web-программирование (http://money-forum.info/forumdisplay.php?f=44)
-   -   Php программирование (http://money-forum.info/showthread.php?t=638)

bomfunky 08.03.2008 09:41

Переход в PHP:
Механизм лексического анализа должен как-то отличать PHP код от других элементов страницы. Идентивикация кода PHP называется "переходом в PHP". Существует четыре вырианта оформления перехода в PHP:
1) Стандартные теги;
2) Короткие теги;
3) Теги script;
4) Теги в стиле ASP.

Стандартные теги:
Стандартные теги используются программами PHP чаще остальных способов, что объясняется наглядностью и удобством этой формы записи:
<?php print "какой-то текст"; ?>
У стандартных тегов есть ещё одно дополнительное преимущество: за открывающейся конструкцией <? следуют смволы php, однозначно определяющие тип дальнейшего кода. Это удобно при использовании в одной странице нескольких технологий - таких, как JavaScript, серверные включения и PHP. Весь текст до закрывающегося тега ?>, интерпретируется как код PHP.

Кроткие теги теги:
Короткие теги обеспечивают наиболее компактную запись для перехода в PHP:
<? print "какой-то текст"; ?>

Теги script:
Некоторые текстовые редакторы ошибочно принимают код PHP за код HTML (то есть визуально отображаемый текст), что нарушает работу над веб страницей. Проблема решается использованием тега script:
<script language="php">
<? print "какой-то текст"; ?>
</script>

Теги в стиле ASP:
Четвёртый способ внедрения PHP кода - теги в стиле ASP (Active Server Page). Они похожи на короткие теги, описанные выше, только вместо вопросительного знака используется знак процента:
<%php print "какой-то текст"; %>
У тегов в стиле ASP есть одна особенность, делающая запись более компактной. Во внедрённый код PHP не обязательно включать команду print - знак равенства( = ), расположенный сразу открывающегося тега, указывает лексическому механизму PHP вывести значение указанной переменной:
<%= $text %>
Такая возможность есть и у кротких тегов (<?...?>).

--------------------

Коментарии в коде PHP
Виды коментариев:
Коментаирии следует использовать даже в самых простых программах. В PHP существует два вида коментариев:
Однострочные коментарии используются для коротких пояснений, относящихся к локальному коду.
Многострочные коментарии используются при оформлении алгорифмов на псевдокоде и в более подробных пояснениях.

Однострочные коментарии:
При оформлении оформлении многострочных коментариев используется два вида коментирования. Оба стиля работают абсолютно одинаково, но в них используется разные служебные символы. В одном случае используется двойной символ "косой черты" (//), а вдругом - с символа фунта (#).

Многострочные коментарии:
Коментарии занимающие несколько строк, оформляются в стиле языка C - их начало и конец обазначаются символами /* и */.

bomfunky 08.03.2008 09:54

Виды переменных

Объявление переменных:
Переменная представляет собой именованую часть памяти, содержащую данные, с которыми можно выполнять операции во время выполнения программы.
Имена переменных начинаются со знака доллара $.
Ниже приведены примеры допустимых переменных:
$color
$number
Переменные PHP не требуют специального объявления. Переменная определяется автоматически, после первого её изпользования. Тип переменной определяется автоматически, по типу хрянящейся в ней данных.
Пример:
$s="text";
$n=23;
$s - интерпретируется как строка, $n - как целое число.
Переменные могут объявляться в любой точке программы, однако от расположения объявления завист то, откуда к ней можно обратиться.

Локальные переменные:
Переменная, объявленная внутри функции, считается локальной, т.е. на неё можно ссылать только внутри данной функции. При любом присваении вне функции, используется другая переменная, которя не имеет ничего общего, кроме имени, к переменной обьявленной внутри функции. При выходе из функции, в которой объявлена локальная переменная, эта переменная уничтожается вместе со значением.

Параметры функции:
В PHP, любые параметры, передаваемые функции при вызовеЯ, должны быть объявлены в заголовке функции. Хотя параметрам присваиваются аргументы извне, после выхода из функции они становяться недоступны.
Параметры объявляются в круглых скобках после имени функции. Объявление параметров практически не отличается от объявления типичной переменной.
Пример:
function a($x) {
$x=$x+4;
return $x; }

Глобальные переменные:
Глобальные переменные, в отличие от локальных, доступны в любой точке программы. Но чтобы изменить значение глобальной переменной, необходимо специально объявит её как глобальную. Для этого перед переменной ставиться ключевое слово GLOBAL

Статические переменные:
В отличие от переменных, объявленных параметрами и уничтожающимися при выходе из функции, статическая переменная сохраняет своё значение и при повторном вызове.
Для объявления статической переменной, перед её именем нужно поставить ключевое слово STATIC:
STATIC $x

bomfunky 08.03.2008 10:16

Служебные символы

Последовательность
Смысл
\n
Новая строка
\r
Возврат курсора
\t
Горизонтальная табуляция
\\
Обратная косая черта(прямой слеш)
\$
Знак доллара
\"
Кавычка
\[0-7]{1-3}
Восмеричная запись числа (в виде регулярного выражения)
\x[0-9A-Fa-f]{1,2}
Шестнадцатиричная запись числа (в виде регулярного выражения)


Различие между кавычками(") и апострофом (')


1) Имена переменных, заключенных в кавычки, заменяются соответствующими значениями, а строки в апострофах интерпретируются буквально.

Пример:

$a="текст";
$x="Переменная a равна: $a";
$y='Переменная a равна: $a';
echo $x."
".$y;

В результате:

Переменная a равна: текст
Переменная a равна: $a

2) В строках, заключенных в кавычки, распознаются все служебные символы, а в апострофах только "\\".

Пример:

$a='c:\new';
$b="c:\new";
echo $a."
".$b;

В результате:

c:\new
c:
ew

В строке "c:\new" есть служебный символ перевода строки - "\n".

bomfunky 08.03.2008 10:54

Массивы

Что такое массив:

Массив представляет собой список однотипных элементов. Существует два типа массивов, различающихся между собой способом идентификации элементов. В массивах первого типа элемент определяется индексом в последовательности. Массивы втрого типа имеют ассоциативную природу, и для обращения к элементам используются ключи, логически связанные со значениями. По разности массивы делятся на одномерные и многомерные.

Одномерные индексируемые массивы:
При обращении к элементам одномерных индексируемых массивов используется целочисленный индекс, определяющий позицию заданного элемента.
Обобщённый синтаксис элементов одномерного массива:
$имя[индекс]
Одномерные массивы создаются следующим образом:
$instrument[0]="molotok";
$instrument[1]="pila";
$instrument[2]="kusachki";
При выполнении следующей команды:
echo $instrument[2];
Получается:
kusachki
При создании массивов можно использовать функцию array(). Предыдущий масив с помощью этой команды можно создать так:
$instrument=array("molotok","pila","kusachki");
Чтобы добавить элемент в массив, нужно присвоить значение переменной массива без указания индекса, значит масиив можно создать следующим образом:
$instrument[]="molotok";
$instrument[]="pila";
$instrument[]="kusachki";

Одномерные ассоциативные массивы:
Ассоциативные массивы удобны в ситуациях, когда элементы массива удобнее связывать словами а не числами.
Например, нам нужно сохранить в массив сочетания вин и блюд. Надо сохранить в массиве пары "ключ/значение". Присвоим сорт вина названию блюда, используя ассоциативный массив:
$pairings["zinfandel"]="Broild Veal Chops";
$pairings["merlot"]="Baked Ham";
$pairings["sauvignon"]="Prime Rib";
Для того, чтоб вывести элемент массива:
echo $pairings["merlot"];
Результат:
Baked Ham
Ассоциативные массивы можно создавать функцией array():
$pairings=array( zingfandel => "Broiled Veal Chops", merlot => "Baked Ham", sauvignon => "Prime Rib");
Разница толко в способе задания массива, возможности остаются теже.

Многомерные индексируемые массивы:
Многомерные индексируемые массивы работают прктически так же, как и их одномерные прототипы, но элементы определяются несколькими индексами.
Обобщённый синтаксис элементов многомерного массива:
$имя[индекс1][индекс2]...[индексN];

Многомерные ассоциативные массивы:
Многомерный ассоциативный массив можно создать так:
$a["b"]["x"]="text1";
$a["b"]["y"]="text2";
$a["b"]["z"]="text3";

Смешанное индексирование:
В многомерных массивах возможно смешанное индексирование:
$a["b"][1]="text1";
$a["b"][2]="text2";
$a["b"][3]="text3";

Логические величины (истина/лож)

Логический тип данных пиринимает всего дав значения: истинное (true) и ложное (false). Логические выличины Логические переменные задаются двумя способами: при проверке условий и в виде значения переменных.

Сравнения существуют в нескольких формах. Чаще всего они встречаются при использовании оператора == в условной команде if.
Пример:
if ($x == 4) {...}
Результатом проверки является либо истина, либо лож: переменная $x либо равна 4, либо нет.

Логические величины также могут определяться явным присвоением значения переменной.
Пример:
$value=true;

Есть и другой вариант присваения переменной логического значения в виде 1 и 0.
Предыдущий пример может выглядеть так:
$value=1

Стандартные переменные

В PHP поддерживается ряд стандартных переменных, предоставляющих в распоряжение програмиста информацию о внутренней конфигурации. Значения одних переменных задаются PHP. Другие изменяются в зависимости от операционной системы и web-сервера, с которым работает PHP.
Чтобы получить список всех переменных со значениями, достаточно выполнить следующий фрагмент:
While (list($var,$value)=each($GLOBALS))
{
echo "
$var => $value";
}

bomfunky 22.03.2008 12:50

Поиск элементов массива в PHP


Поиск элементов относится к числу выжнейших операций с массивами. В PHP существует несколько стандартных функций, позволяющих легко находить в массиве нужные ключи и значения.

in_array()
Функция in_array() проверяет, присутствует ли в массиве заданный элемент. Если присутствует, возвращает значение true, иначе false.
Синтаксис функции:
bool in_array(mexed элемент, array массив)

array_keys()
Эта функция возвращает массив, содержащий все ключи исходного массива, переданного в качестве параметра. Если при вызове задаётся дополнительный параметр "искомый элемент" возвращаются только ключи, которым соответствует заданное значение; в противном случае возвращабтся все ключи массива.
Синтаксис функции:
array array_keys(array массив, [, mixed искомый_элемент])

array_values()
Функция возвращает массив, состоящий из всех значений исходного массива, переданного в качестве параметра.
Синтаксис функции:
array array_values(array массив)

Функции array_keys() и array_values() дополняют друг друга, позволяя при необходимости получить все состовляющие той или иной стороны ассоциативного массива.

Natashulay_ 29.11.2009 10:52

я тупым вопросом, подскажите, с чего начать если я немного знаю HTML, хочу изучить PHP, с чего начать? нужна ли спец программа для программирования?

Big Brother 29.11.2009 11:10

Начать следует с изучения синтаксиса php
Спец программа не нужна, можно и в блокноте)
Я пользуюсь PHP Expert Editor
Отличие от блокнота (для меня) только в том, что этот самый синтаксис подсвечивается)
Ну мне как бы большего и не надо. Ссылочку там подправить, или include чего нибудь)

Пример простейшего скрипта на PHP:

Код:

<html>
        <head>
                <title>Hello, world!</title>
        </head>
        <body>

                <?
                echo "Hello, world!";
                ?>

        </body>
</html>

Поищите тематическую литературу.

Dmitriys_007 29.11.2009 23:57

Цитата:

Сообщение от Natashulay (Сообщение 55803)
я тупым вопросом, подскажите, с чего начать если я немного знаю HTML, хочу изучить PHP, с чего начать? нужна ли спец программа для программирования?

В инете куча хороших учебников по PHP, кто хочет. тот найдет. Для изучения нужны специальные проги, без них скрипт не запустиш. Вот пакет хороший, все в одном http://www.denwer.ru/

Danet 24.12.2009 13:01

У меня возникла такая проблема: стоял простейший код PHP в страничке на HTML[codebox]<?
include ("footer.tpl");
?>[/codebox]всё работало нормально, но на хостинге изменили настройки и теперь на месте установки кода нечего не отображается.
Подскажите, как решить эту проблему?

KrAlAn 25.12.2009 00:55

Наверное отключили Вам php (а именно <? ... ?> и есть phph) - вот и все дела - имхо.


Текущее время: 10:15. Часовой пояс GMT.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot