Променливи в РНР

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

Синтаксис на променливите


  • В РНР всички променливи се означават по следния начин: Знакът за $, последван от името на променливата.

  • Името трябва да започва с буква (A-Z, a-z) или със символа (_), може да се състои от произволно количество букви, цифри, знакът за подчертаване или комбинацията им.

  • В името на променливата не бива да се оставят интервали. Вместо това, за разделяне на думите се поставя символа за подчертаване.

  • $variable и $Variable са две различни променливи.

  • На променливите трябва да се дават съдържателни имена и да се прилагат коментари за значението им. По този начин може да се намали броят на грешките. Например, $LastName е по-добро име за променлива, отколкото $LN.

  • В РНР не е необходимо да инициализирате променливата, просто й задавате първоначална стойност.

Типове променливи


Ще разгледам най-разпространените типове променливи- числа, стрингове и масиви.В РНР числата се делят на: цели числа и числа с плаваща запетая.Тъй като в РНР няма строг контрол на типа на променливите, обединяването на тези две категории в една група няма да повлияе на програмирането.
В РНР съществуват още един важен тип променливи- обекти, чийто използване значително облекчава писането на код, тъй като обектно-ориентираното програмиране е мощно средство, което икономисва значително време.

Числа


За простота ще обединим числата с плаваща запетая и целите числа в една група. Целите числа могат да са положителни и отрицателни, но не могат да бъдат дробни. Числата с десетична запетая (например 1,05)- това са числата с плаваща запетая. Дробните числа се представят като числа с плаваща запетая, тъй като в РНР, единственият начин да се изрази дроб е тя да се конвертира в десетичния си еквивалент (така числото 1 1/4, ще се запише като 1,25).

Стринг


Променливата е стринг, ако е комбинация от знаци (комбинация от букви, цифри, символи и интервали), затворена в единични или двойни кавички.
Примери за стрингове:

Здравей, свят!

Здравей, $FirstName!”

“1 1/4”

Здравей, свят! Как сте днес?”

“02.44.94”

"1234"

В последния пример превръщаме цяло число в стринг, като го поставяме в кавички.

Примери за неправилно изписани стрингове:

Здравей, свят!

"Попитах: "Как сте?""

В първия пример лисват кавички. Вторият е доста коварен, тъй като ще възникнат проблеми при прочитането на вторите кавички. РНР ще предположи, че стрингът е завършен и следващият текст ще предизвика грешка. За да се предотврати това, кавичките могат да се екранират, като пред тях се постави знакът обратен слаш (\). Тогава стрингът ще придобие вида:

"Попитах:\"Как сте?\""

По този начин даваме инструкция на РНР да разглежда тези кавички като част от стойността на стринга, а не като индикатори за начало и край на стринг.
Екраниране е необходимо за: двойните кавички, знака апостроф (`), обратен слаш (\) и знакът за долар ($).
Двойните кавички имат безспорно преимущество пред единичните. Ако работите с единични кавички, стринга 'Здравей, $FirstName!’ може да предизвика печат на Здравей, $FirstName!, вместо например Здравей, Edelw! (ако преди това на променливата $FirstName сте присвоили стойност Edelw).
Ако екранирате знака за долар в двойните кавички (print "Здравей,\$FirstName!";) отново ще се разпечата името на променливата, а не нейната стойност (Здравей, $FirstName!).

Масиви


Стрингът и числото обикновено съдържат една стойност, докато масивът може да има назначени няколко стойности. С други думи, в него може да се вложат множество стрингове и/или числа. Разрешено е да се влагат и много масиви в един.

Присвояване на стойност на променлива


Присвояването на стойност на променлива се осъществява с оператора за присвояване (=). Той присвоява стойност на променливата, която стои вляво от него.
Например:

$number=2; //На променливата $number е присвоена стойност 2

$floating_number= 2,4;

$string="Здравей, свят!";

Стойността на променливата може да се промени. Например:

$number=23;
$number=7;

Сега, ако се разпечата стойността на провенливата, тя вече ще е 7.

Явното присвояване на тип на променливата може да се направи при първото й използване.

Синтаксисът е следния:

$a1=(integer) 2;

$string=(string) "Здравей, свят!";

Незабавно след това, ако желаете, можете отново да промените типа на променливата.

Предефинирани променливи


Значението на предефинираните променливи не бива да се подценява, защото, първо: те така или иначе се използват в програмите и второ: може да създадете променлива със същото име, но това ще доведе до възникване на проблеми.
Предефинираните променливи са специален тип променливи, които се използват в програмите на уеб сървъра (например Apache), операционната система с която работи уеб сървъра (Linux, Windows и т.н.) и самите РНР модули. Първите две категории се наричат променливи на обкръжението или променливи на средата, защото описват обкръжението: сървъра, браузъра, конфигурационния файл и т.н. .
На различните сървъри могат да работят различен набор от предефинирани променливи.
С помощта на функцията phpinfo () можете да разберете с какви променливи на средата работи Apache сървъра. Някои от променливите на средата са дефинирани в php.ini файла.
  1. Отворете текстовия редактор.
  2. Създайте нов документ.
  3. Наименовайте го phpinfo.php.
  4. Въведете:
    <?php
    echo phpinfo (INFO_VARIABLES);
    ?>
    
  5. Съхранете файла.
  6. Качете го на сървъра.
  7. Отворете в браузъра.
php_variables.png
Изход от phpinfo (INFO_VARIABLES)

Като примери за променливи на сървърната среда могат да послужат:

$HOSTNAME (името на сървъра),
$OSTYPE (типа операционна система на сървъра).

Предефинирани променливи на сървъра Apache, например са:

$DOCUMENT_ROOT- място за съхранение на файловете на сървъра,
$HTTP_USER_AGENT- определя какъв браузър и каква платформа ползва клиента, който преглежда страницата и др..

Най-често използваната променлива в РНР е $PHP_SELF- еквивалент на името на текущата страница.

Създаването в страниците на променливи с имена, съвпадащи с имената на променливите на средата, може да доведе до непредсказуеми резултати.

Да разгледаме следния пример:
  1. Отворете текстовия редактор.
  2. Създайте нов файл.
  3. Дайте наименование на файла magic_const.php
  4. Въведете:
    <?php
    // PHP константи
    echo "PHP версия = " . PHP_VERSION . "<br >";
    echo "Операционна система на сървъра = " . PHP_OS . "<br >";
    echo "Име на файла= " . __FILE__ . "<br >";
    echo "Номер на ред= " . __LINE__ . "<br >";
    echo "TRUE = ". TRUE . "<br >";
    echo "false = ". FALSE . "<br >";
    ?>
    
  5. Съхранете файла.
  6. Качете го на сървъра.
  7. Тествайте в браузъра.
__FILE__ и __LINE__ са предифинирани константи (магически (вълшебни) константи). Защо? Защото могат да променят стойността си в зависимост от това как се използват в програмата. Не се поставят в кавички и имената им са затворени между две долни черти.

magic_const.png
Магически константи

Повече за предефинираните и магически константи: http://php.net
sign.png

Няма коментари:

Публикуване на коментар