[Nevor.ru]

   •Главная•   •Поиск•   •Новости•   •Гостевая•   •Карта•  
•Главная•   •Поиск•   •Новости•   •Гостевая•   •Карта•  
Любимов Павел 2008-2012. © (написать письмо).
Навигация
по сайту
Компьютеры
Программы
Сайты
Прочее
На главную
Гостевая
Новости
Статьи
Список статей
по теме
Содержание
раздела
Предисловие
Введение
Программы
Код HTML
Использование
спецификации
Термины
Код CSS
Использование
спецификации
Код PHP
Структура
html-документа
Технические
моменты
Верстка сайта
Виды вёрстки
Поиск ошибок
Системы CMS

Переменные PHP.

редакция 28.03.10

Чтобы без затруднений использовать переменные PHP в своей практике, надо запомнить два момента. Первый - помнить о типах данных PHP и уметь с ними работать. Второе - правильно пользоваться символами «"» и «'». В остальном все достаточно просто. Однако, если вы забудете в какой-то момент об этих простых вещах, могут возникнуть вещи сложные, которые зовутся проблемами.

Для тех, кто пришел на эту страницу с поисковой системы отмечу, что было бы неплохо сначала ознакомиться с содержанием этой страницы (в конце есть ссылка сюда), а после уже переходить к чтению этой статьи. Для тех, кто уже ознакомился со страницей "Команды PHP, переменные и операторы.", отмечу, что материал этой статьи в плане переменных частично повторяется. Но не случится ничего страшного, если вы дочитаете ее до конца. Повторение - мать учения, к тому же информация дублируется лишь частично.

Переменная PHP - это, собственно, символ "$". Чтобы можно было спокойно использовать переменную, ей присваивают имя. "$imya" - переменная готова. Теперь ее можно использовать, к ней можно обращаться, ее можно менять. Теперь чуть внимательнее посмотрим на "$imya". Переменную можно рассматривать как текст, то есть как тип строковых данных (String). А строки можно склеивать или объединять. Главное помните, что тип данных String заключается в кавычки. Вот и вся теория, которая нам сейчас понадобится. Переходим к практическим примерам.

Для последующих манипуляций с переменными я создал html-файл (file1.html) в котором содержится код

<P class="red">Просто файл</P>

Теперь по порядку разберу случаи употребления переменных PHP на практике:

<?php
$chislo = 5; ?>
<P class="red">2+3=<?php  echo $chislo ;?></P>
Результат выполнения кода:

2+3=5

Самый простой пример с выводом переменной на экран при помощи команды "echo". Я долго отучался от html-привычки все заключать в кавычки. Ну вот, стихами заговорил.

Помните, что в PHP данные, заключенные в кавычки, автоматически получают статус String. Поэтому не стоит без необходимости заключать в кавычки переменную, число и любые другие не строковые данные. Идем дальше. Для следующих примеров потребуется тот самый файл "file1.html". Имя файла будет фигурировать в примерах, а содержимое - в результатах. Будьте внимательны. Пример второй:

<?php
$object = 1;
include "file$object.html" ;?>
Результат выполнения кода:

Просто файл.

Обратите внимание, что я никак не разграничивал имена переменной и файла. Поскольку имя переменной PHP не может содержать точку, php-обработчик при выполнении команды "include" дойдет до знака "$" и примет символы, находящиеся справа от него за имя переменной, вплоть до точки. Далее обработчик снова будет считывать данные как строковые. Более интересна будет пара следующих примеров:

<?php
$object = "file";
include "".$object."1.html";?>
Результат выполнения кода:

Просто файл.

или можно поступить так:

<?php
$object = "file";
$object2 = "$object"."1.html";
include "$object2";?>
Результат выполнения кода:

Просто файл.

В обоих примерах применялся оператор «.» для склеивания строковых данных. Переменные PHP склеивались со строками, в результате чего команда "include" отработала без ошибок. В четвертом примере все понятно - замена сложного простым. Более интересен третий пример, где переменная преобразуется в строку, якобы склеиваясь с двумя строками, которых на самом деле нет. После чего полученное склеивается с "1.html" и происходит выполнение "include". Поскольку в синтаксисе «include» и «.» используются кавычки, нужно приводить переменные к виду

".$object."

или использовать прием четвертого примера. Третий пример более мудреный, чем четвертый, но и более короткий. Идем дальше, пример №5:

<?php
$vremya = "Завтра";
$pogoda = 12;
$prognoz="$vremya будет $pogoda градусов тепла.";
echo "<P color='red'>$prognoz</P>";?>
Результат выполнения кода:

Завтра будет 12 градусов тепла.

Этот пример хорошо иллюстрирует использование одной переменной PHP в составе другой. Вариантов на самом деле очень много, однако для наглядности хватит и одного.

В поисковиках встречаются запросы вида "переменная в адресе" и подобные. Тут речь не совсем о переменных, но информация к переменным относится. В строке адреса можно передавать данные, которые могут быть использованы (можно присвоить эти данные какой-нибудь переменной). Данные для передачи указываются в гиперссылке после знака вопроса. Указывается идентификатор и ему присваивают значение. Выглядит это так:

<A HREF="www.example.com?id=data">ссылка</A>

В данном примере "id" является идентификатором, а "data" - передаваемыми данными. Как передавать, надеюсь, понятно. Теперь давайте разберемся, как эти данные получить. Делается это следующим образом:

<?php
$take_data = $_GET['id'];?>
Таким вот образом данные можно получить и записать в переменную PHP. А теперь рассмотрим, как это можно использовать на конкретном примере. Пример №6:

Передача данных:

<A HREF="PHP_code1.php?test=адрес с данными">
тестовая ссылка</P>

Прием и обработка данных:

<?php
$no_data = "строка адреса не содержит данных"
$load = $_GET['test'];
if ($load!="") {
echo "<P class='green'>$load";}
else echo "<P class='red'>$else";?>

Результат выполнения кода:

строка адреса не содержит данных

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

Осталось еще два примера. В следующем примере показывается, как можно использовать переменные для дублирования повторяющихся участков кода. Обратите особое внимание на использование символов «"» и «'». Пример №7:

<?php
$css = "style='padding:10px;background:gray;
color:white;'";?>
<P <?php echo $css ;?> >Немного текста</P>
Результат выполнения кода:

Немного текста

Это хороший пример представления участка html-кода в виде переменной PHP. Как видите, в данном примере я заменил группу стилей одной переменной. Заметьте, что список стилей может быть куда длиннее этого. И последний пример. В поисковых запросах я часто вижу фразы типа "перенести значение переменной PHP в другой файл" или передать. В общем суть понятна. Требуется установить значение переменной при исполнении одного php-файла, а потом использовать это значение при исполнении другого. О сложных (относительно) вариантах с базами данных я говорить тут не буду. Приведу пример попроще. Поскольку все данные "живут" только во время исполнения файла, следует где-то и как-то их сохранить. В данном случае будем сохранять значение переменной в файл:

<?php
$data="<P class='red'>сохранение переменной";
$save=fopen("save.txt","a+");//открытие файла
flock($save,LOCK_EX);//блокировка файла
$count=fread($save,100);//чтение файла
$count=$data;// сохранение переменной
ftruncate($save,0);//очистка файла
fwrite($save,$count);//запись данных в файл
flock($save,LOCK_UN);// разблокировка
fclose($save); }//закрытие файла
?>

Переменную мы сохранили. Вы можете просмотреть содержимое файла save.txt и удостовериться. Теперь нам надо сохраненные данные как-то прочесть из другого файла. Для этого используйте следующий код:

<?php
$use=fopen("save.txt","r");//открытие файла
$show=fread($use,100);//чтение данных
fclose($use);//закрытие файла
echo "$show";//вывод данных на экран
?>
Результат выполнения кода:

сохранение переменной

Разумеется, данные можно не только на экран выводить. После того, как они записались в переменную ($show), их можно использовать как и где вам угодно. Я надеюсь эта статья помогла разобраться с переменными PHP и многое прояснила. Вопросы можете отправлять на почту с пометкой в теме "nevor_mail". [наверх]

помочь автору и сайту

• вернуться в Сайтостроение •

• к списку статей •


Информация
Спецификация
языка HTML
Спецификация
языка CSS
Файлы
Набор новичка
Шаблоны сайтов
Редактор кода
Тренер HTML
Denwer