Помогни ни да направим Uroci.net по - богат! Добави урок

PHP - част 2 (Функции за променливи)

PHP » PHP
fix3d   трудност:    видян: 7949


Функции за определяне и задаване типа на променлива
Въпреки че в PHP не е необходимо да задавате типа на променливите, в някои случаи това е необходимо. Например, може да ви се наложи динамично да зададете типа на променливата в зависимост от нуждите на визуализацията. За да направите това ,първо трябва да определите от какъв тип е текущата и стойност и да зададете новия тип. PHP предоставя две функции за определяне и задаване типа на променливата.

Функцията settype()
Тази функция насила конвертира типа на променлива до друг. Синтаксиса на функцията е settype() е следния:

boolen settype (mixed $myvariable, string, string setdatatype)

Функцията settype() конвертира типа на променливата $myvariable до типа setdatatype. Върнатата стойност е от булев тип и е True, ако конвертирането е успешно. Ако не е извършено конвертиране, се връща стойност False.
Стойността setdatatype може да бъде integer, string, boolen, float, null, array и object.

Например:

$Mystrval = "container 72" // Низ
$Myboolval = False // Булева стойност
settype($Myboolvas, "string"); // Резултат 0
settype($Mystrval, "string"); // Резултат 72
settype($Myboolvas, "integer"); // Резултат 0

В горния пример променливата $Myboolval и $Mystrval съдържат съответно булева и низова стойност. Функцията settype() бе използвана за явно конвертиране на типовете на двете променливи до integer.

Функцията gettype()
Функцията gettype() връща типа на дадена променлива. Синтаксисът на функцията е следния:

string gettype( mixed $mixedvar)

Функцията извлича типът на променливата $mixedvar и го превръща като низ. Низът може да съдържа integer, string, boolen, float, null, array, object или resourse.

Например:
<?php

$myval = "10 pigs" + 2;
echo $myval; // Извежда 12
echo gettype ( $myval); // Извежда integer

settype ( $myval, "double");
echo $myval; // Извежда 12
echo gettype ( $myval); // Извежда double

$myval = "10pigs" + 2;
echo $myval; // Извежда 12
echo gettype ( $myval); // Извежда integer

$myval = "10 pigs" . 2;
echo $myval; // Извежда 10
echo gettype ( $myval); // Извежда string

settype ( $myval, "integer");
echo $myval; // Извежда 10
echo gettype ( $myval); // Извежда integer

$myval = "10pigs" . 2;
echo $myval; // Извежда 10pigs2
echo gettype ( $myval); // Извежда string

settype ( $myval, "integer");
echo $myval; // Извежда 10
echo gettype ( $myval); // Извежда integer

settype ( $myval, "boolen");
echo $myval; // Извежда (1/true)
echo gettype ( $myval); // Извежда boolen

$myval = "";
settype ( $myval, "boolen");
echo $myval; // Извежда (NULL/false/blank)
echo gettype ( $myval); // Извежда integer

?>

В горните примери се извличат типовете на променливите и се показват на екрана. Също така явно се променят типовете на променливите с помощта на функцията settype() и се визуализират типовете с помощта на функцията gettype().

Константи
Да предположим, че трябва да използвате конкретна стойност в цялото си приложение. Например, да предположим, че приложението ви намира най-високите резултати, постигнати от учениците на даден тест. За да намерите тази стойност, приложението ви трябва да съхрани тези на статично място, за да може да осъществява достъп до тях при разглеждането на резултатите на всеки ученик. В този случай вместо да създавате множество инстанции на едни и същи данни, можете да използвате константи. Константата е мястото в паметта, където можете да съхранявате стойности, не променящи се по време на изпълнение на програмата.

Дефиниране на константи
Константите имат следните характеристики:

- те вземат предвид регистъра на буквите
- Използват същата конвенция за задаване на имена, както променливите
- Могат да започват само с буква или символ за подчертаване, следвани от числа и букви
- По подразбиране имат глобална област на действие

За да дефинирате константа трябва да използвате функцията define(). След като константата е дефинирана, тя не може да се променя. Стойността на константата може да бъде от един от следните типове: string, boolen, double или integer.
За разлика от променливите можете да използвате константата с името й, вместо да добавяте символа $ пред него. Можете да използвате функцията constant(), в случай, че искате динамично да получите стойност на константата. Функцията get_defined_constant() се използва за получаване на списък с дефинираните константи в момента.

Разгледайте следния пример:
<?php

define ("CONSTANT", "This cannot be changet");
echo &CONSTANT; // Извежда This cannot be changet
echo &Cconstant; // Извежда Constant
echo "CONSTANT"; // Извежда CONSTANT
echo 'CONSTANT'; // Извежда CONSTANT

?>

В горния пример се задава константна стойност с име CONSTANT, която съхранява стойността "This cannot be changet.". Тъй като при имената на константите се взима предвид регистъра на буквите, името CONSTANT се различава от името Constant. по тази причина по време на изпълнението на втория израз echo, компилаторът първо търси тази константа в предварително зададените константи. След като не открие такава константа, претърсва константите дефинирани от потребителя. След като все още не намери такава константа, отпечатва името.
Компилаторът на PHP обаче ще изведе забележка за тази операция. PHP приема всички стойности извън кавичките и без знак за долар за константи и отпечатва стойността. С други думи, не може да отпечатва константа в кавички.
Въпреки че при константите по подразбиране се прави разлика в регистъра на буквите, можете да използвате функцията define(), за да забраните тази разлика. Разгледайте примера:
define ("CONSTANT", "This cannot be changet.");
// Създава константа, различаваща регистъра на буквите.
define ("CONSTANT", "This cannot be changet", 1);
// Създава константа, не различаваща регистъра на буквите.

В горния пример, когато добавите като трети параметър единица, функцията define() задава константа, която не прави разлика в регистъра на буквите. Сега да разгледаме някои от предварително дефинираните константи в PHP
|-------------------|----------------------------------------------------------------------------|
| Име | Стойност |
|-------------------|----------------------------------------------------------------------------|
PHP_VERSION
Версията на PHP използвана в момента.
_FILE_
Името на файла, който се анализира в момента. Ако тази константа се използва
във вмъкнат файл, тогава тя съдържа името на вмъкнатия файл, а не на
родителския.
_LINE_
Броя на редовете във файла, който се анализира в момента. Ако тази константа
се използва във вмъкнат файл, тогава тя съдържа името на вмъкнатия файл,
а не на родителския.
E_EROR
Показва грешка, след което не е възможно да продължи изпълнението на скрипта
E_PARSE
Показва че анализаторът е открил синтактична грешка в скрипта и програмата не
може да продължи изпълнението се
E_WARNING
Показва че е възникнало предупреждение в PHP, но програмата все още може да
продължи изпълнението си.
E_ALL
Комбинация от всички E_* константи.
Е_NOTICE
Показва че е възникнала ситуация, която трябва да забележите, но не е грешка
TRUE
Стойността TRUE
FALSE
Стойността FALSE
NULL
Стойността NULL


източник на урока: http://www4u.search.bg




Сподели урока:



Регистрирайте се, за да добавите коментар


Калдейта Ком ЕООД - © 2003-. Всички права запазени.
Препоръчваме: IT Новини