С основами синтаксиса PHP Вы знакомы. Следующий код
<?php
echo "Hello, World!";
?>
дает
Hello, World!
Имена переменных обозначаются знаком $. То же самое "Hello, World!"
можно получить следующим образом:
<?php
$message = "Hello, World!";
echo $message;
?>
Конкатенация (присоединение) строк осуществляется с помощью . (точки); обычные
арифметические операции определяются так, как Вы того и ожидаете:
<?php
$greeting = "Hello ";
$num = 3 + 2;
$num++;
echo "$greeting $num people!";
?>
даст
Hello 6 people!
PHP имеет полный комплект операторов и они работают именно так, как Вы того
ожидаете, особенно если у Вас имеется опыт работы с C или C++. При работе с
PHP можно придерживаться простого правила: "Если сомневаешься, попробуй:
скорее всего оно именно так и работает."
Так же, как и в Perl, строка, заключенная в двойные кавычки, означает, что
встречающиеся в этой строке переменные будут заменены их значениями, в то время
как если строка заключена в одинарные кавычки, такая замена не производится.
Так
<?php
$name = 'Susannah';
$greeting_1 = "Hello, $name!";
$greeting_2 = 'Hello, $name!';
echo "$greeting_1\n";
echo "$greeting_2\n";
?>
даст
Hello, Susannah!
Hello, $name!
Обратите внимание на то, что \n в строке означает переход к новой строке, совсем
как в Perl или в C. Однако это работает только в тех строках, которые взяты
в двойные кавычки.
Переменные
PHP обеспечивает доступ к переменным окружения как к регулярным переменным
(as regular variables), включая переменные окружения, которые установлены сервером
для CGI-программ (даже если Вы запустили PHP как модуль). Поэтому, если на странице
"http://www.domain.com/farm/cattle/cow-cow.cow.html" содержится PHP-код
<?php
echo "[$REQUEST_URI]";
?>
то на выводимой странице Вы увидите [/farm/cattle/cow-cow-cow.html]
Массивы PHP
Индексы массивов (как обычных, так и ассоциативных) задаются в квадратных
скобках ([ и ]):
$fruit[0] = 'banana';
$fruit[1] = 'papaya';
$favorites['animal'] = 'turtle';
$favorites['monster'] = 'cookie';
Если Вы присваиваете какое-то значение элементу массива, не указывая номера
элемента (оставляете поле индекса пустым), PHP присоединяет объект к концу массива.
Так для приведенного выше примера с массивом $fruit можно достичь того же самого
результата, написав:
$fruit[] = 'banana';
$fruit[] = 'papaya';
Вы можете также применять многомерные массивы:
$people['David']['shirt'] = 'blue';
$people['David']['car'] = 'minivan';
$people['Adam']['shirt'] = 'white';
$people['Adam']['car'] = 'sedan';
Создать массив можно также путем вызова функции array():
$fruit = array('banana','papaya');
$favorites = array('animal' => 'turtle',
'monster' => 'cookie);
или
$people = array ('David' => array('shirt' => 'blue',
'car' => 'minivan'),
'Adam' => array('shirt' => 'white',
'car' => 'sedan'));
Встроенная функция count() выдает число элементов в массиве.
$fruit = array('banana','papaya');
print count($fruit);
выдаст
2
Управляющие конструкции PHP
Вы можете использовать операторы цикла, такие как for и while. В результате
выполнения оператора
for ($i = 4; $i < 8; $i++) {
print "I have eaten $i bagels today.\n"; }
получим
I have eaten 4 bagels today.
I have eaten 5 bagels today.
I have eaten 6 bagels today.
I have eaten 7 bagels today.
Тот же самый результат даст
$i = 4; while ($i < 8) {
print "I have eaten $i bagels today.\n";
$i++;
}
Вы можете также использовать конструкции с if и elseif:
if ($user_count > 200) {
print "Сайт сейчас перегружен!";
} elseif ($user_count > 100) {
print "Сайт активно используется!";
else {
print "Сайт свободен - подключились только $user_count пользователей.";
}
Сформулированное выше правило "Пробуй!" вполне применимо и в части
управляющих конструкций. Вы можете использовать конструкции с switch, do...while
и даже ?:.
|