Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Конструкция if-else
  1. Конструкция if-else
     
Автор  Icicle (05.03.2005 13:15)  съобщение до автора
Погледнат  3078 пъти  добави към любими
Оценка  добави коментар
Гласове  5  изпрати на приятел
Коментари  (1)  абонирай се за PHP
    Страница 1 / 1

 



Доста често при създаването на динамични файлове ще се налага да правите проверка дали е изпълнено едно или друго условие. Най-често използваната за целта конструкция е if - else. Ще я демонстрираме с пример, като включим към нашия index.php проверка дали търсеният файл наистина съществува. За да направим това ще използваме и функцията, проверяваща за наличието на файл в локалната система file_exists ()
 

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<html>
<
head>
<
META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<
title>Увод в PHP - 5</title>
</
head>
<
body>
<?
php
require("header.html");
?>
<
table width="95%" cellspacing="15" cellpadding="5" border="0">
<
tr><td valign="top" width="120">
<?
php
require("menu.php")
?>
</
td><td valign="top">
<?
php
if (file_exists ("$p.php")) {
include("$p.php");
}
else {
echo "<center><b>Не съществува такава глава от самоучителя!</b><br><br>Моля изберете от менюто вляво!</center>";
}
?>
</
td></tr></table>
<?
php
require("footer.php");
?>
</
body>
</
html>

За да изчистим нещата, ето как изглежда синтаксиса на конструкцията:

if (условие) {действие
}
else {
друго действие
}

 

Възможно е да се добавят множество алтернативни проверки с помощтта на elseif :

if (условие) {
действие
}
elseif {
второ действие
}
else {
друго действие

}

Преди да покажем друг пример, трябва да обърнем внимание на операторите за сравнение в PHP - равно, различно, по-голямо, по-малко, логическо и, логическо или и други. Следният пример сравнява две подадени числа :

CODE
1
2
3
4
5
6
7
8
9
10
11
<?
//Това е
test.php
if ($a > $b) {
echo "$a е по-голямо от $b";
}
elseif ($a == $b) {
echo "Двете числа са равни";
} else {
echo "$b е по-голямо от $a";
}
?>


Забележете, че при проверката дали числата са равни използвахме два знака "равно" един след друг. Ако бяхме сложили само един, то интерпретаторът щеше да изравни стойностите на двете променливи. И така, ето как се правят проверките в PHP:

== - проверява за равенство;
!= - проверява за неравенство;
> - проверява дали първият параметър е по-голям от втория;
< - проверява дали първият параметър е по-малък от втория;
>= - проверява дали първият параметър е по-голям или равен от втория;
<= - проверява дали първият параметър е по-малък или равен от втория;
&& - логически "и" - проверява дали всички условия отговарят на истината;
|| - логически "или" - проверява дали поне едно от условията отговаря на истината;

Много грешки можете да допуснете в началото поради объркване на операторите за сравнение, особено в ситуацията с равно. Нека видим два примера:

CODE
1
2
3
4
if ($a == $b) {
echo "Двете неща са равни";
//още действия тук
}
и

CODE
1
2
3
4
if ($a = $b) {
echo "Двете неща са равни";
//още действия тук
}

Ако извикаме тези две конструкции със стойности за променливите, например 2 и 5, в първия случай няма да видим изписано твърдението за равенство, защото проверката ще бъде направена според очакванията и тъй като двете числа не са равни, действието няма да бъде изпълнено.
Във втория случай, обаче, на екрана ще се изпише твърдението за равенство, както и ще се изпълнят всички действия, които сме задали. Това е така, защото един знак за равенство се възприема от PHP интерпретатора като инструкция за изравняване на стойността на единия параметър със стойността на другия, а не като оператор за сравнение. Важно е да забележите, че проверките, които се правят в PHP касаят не само числа и низове. В случая конструкцията ще върне положителен резултат от проверката, защото извършването на операцията изравняване е извършена успешно.
Можете да проверявате стойността на булеви променливи или настъпването на някакво събитие, по същите начини, по който можете да разберете дали една променлива съществува или не. Примери:

CODE
1
2
3
4
5
6
if ($a) {
echo "Променливата $a има стойност - $a"
}
else {
echo "Няма променлива $a";
}

Тази конструкция проверява дали съществува променлива $a и изписва стойността й. Но можехме да напишем също :
 

CODE
1
2
3
4
5
6
if (!$a) {
echo "Няма променлива $a";
}
else {
echo "Променливата $a има стойност - $a"
}

Както забелязвате, възможностите за проверки са доста гъвкави. Всяка вградена функция на PHP връща стойност (най-често 1), ако бъде изпълнена, и не връща нищо (или 0) ако бъде. В примера за index.php направихме проверка за съществуването на файла, който искаме да включим. Но по една или друга причина е възможно файлът да съществува, но да не може да бъде включен. Затова можем да използваме друг вариант на проверка :

CODE
1
2
3
if (!include("$p.php")) {
echo "<center><b>Не съществува такава глава от самоучителя!</b><br><br>Моля изберете от менюто вляво!</center>";
}
Забележете, че извикването на функция в конструкцията води до нейното изпълнение. Така ако функцията include се изпълни, то условието няма да бъде вярно и предупредителния текст няма да се изпише. Но ако по някаква причина не се изпълни, то тогава условието ще е вярно и текстът ще се появи на екрана. Тук трябва да припомним особеността на конструкцията require (), която, както стана дума в предишната част, не връща стойност при изпълнението си.
Съществуват няколко вариации на изписване на тази контролна структура, но е за препоръчване да следвате основния синтаксис и да не смесвате стиловете. Ако действието, което трябва да се изпълни при удовлетворено условие на проверката е едно, то можем да запишем

if ($name) echo "Моля, въведете потребителско име!";

С подобна конструкция можете например да проверите дали потребителят е попълнил името си в поле във форма.Това се наех да го напиша от една книга ,която съм си купил ,защото мисля че тази конструкция е много използвана и ,че това ще Ви бъде полезно.



   


Ключови думи: PHP if else динамичен файл функция проверка променлива


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 За автора: Icicle  
http://iciclenet.deviantart.com/
   
 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

АБЕ НА ТЕБЕ НЕ ТИ ЛИ ПИСНА ДА КРАДЕШ !!!       

  QuaKy на 18.04.2005 20:28

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008