![]()
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Переменные 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". |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||