В този урок ще поговорим за типовете данни в PHP. Това е теоритичен, но изключително полезен урок, който ще ви обогати с информация за типовете данни в програмирането.

В силно типизираните езици при създаването на променливата вие трябва да определите каква по вид е тя и да зададете какъв тип данни може да съдържа. В този пример при присвояването на стойност към променливата, която стойност не е валидна, ще настъпи грешка.

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

Основни типове данни, които поддържа PHP

  • integer - може да съдържа цели числа;
  • boolean - специален тип данни, който показва истинност или неистинност;
  • float - числа с плаваща запетая;
  • double - числа с плаваща запетая, double е с много по-голяма точност от float;
  • string - това е текст. Може би най-често използваният тип данни;
  • array - масив - специфичен тип данни, с който ще се запознаем по-нататък. Изключително мощен тип данни в PHP;
  • object - най-общият тип данни, който идва от обектно-ориентираните езици. За тях ще говорим по-нататък;
  • null - специален тип данни, който значи нищо. За компютрите нищо всъщност има физически смисъл.
  • Има и други типове данни, с които ще се запознаем по-нататък.

Трябва да знаем какъв тип данни имаме в променливата, за да реализираме правилно логиката в своето приложение.

Да вземем за пример следния код:

 

<?php

$potrebitel='php';

var_dump($potrebitel);

?>

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

string(3) "php"

Това означава, че нашата променлива по вид е string и е с дължина от три символа. Виждаме и самата стойност на променливата, която в нашия пример е php.

Нека да направим следното нещо, изпробвайте следния код:

<?php

$potrebitel='123456789';

var_dump($potrebitel);

?>

В браузъра си ще видите следното нещо:

string(9) "123456789"

Това не е грешка. Това за PHP е текст с дължина 9 символа и стойност 123456789.

Сега изпълнете следния код:

<?php

$potrebitel=123456789;

var_dump($potrebitel);

?>

Единствената разлика е, че няма кавички при стойността 123456789, но променливата е станала друг тип, тоест в браузъра ще видите следното нещо:

int(123456789) . Типът на данните вече е integer - цяло число със стойност 123456789.

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

<?php

$potrebitel=88.74;

var_dump($potrebitel);

?>

В браузъра ще видите, че типът данни вече е станал float(88.74).

Но вижте какво ще стане, ако сложим същата стойност на променливата в кавички:

<?php

$potrebitel='88.74';

var_dump($potrebitel);

?>

Браузърът вече ни показва string(5) "88.74". Кавичките казват, че дадената стойност ще бъде текст,тоест string.

Изпробвайте сега следния програмен код:

<?php

$potrebitel=true;

var_dump($potrebitel);

?>

var_dump тук ще ни покаже следното нещо в браузъра bool(true) - тоест това е булева променлива със стойност true, тоест истина. Изпробвайте същото нещо, но на мястото на true поставете false.

Изпробвайте и този програмен код:

<?php

$potrebitel;

var_dump($potrebitel);

?>

Тук нямаме присвоена никаква стойност към променливата, тоест нейният тип е NULL, var_dump покава точно това.

Notice: Undefined variable: potrebitel in 3_danni.php on line 5
NULL

Този Notice ни показва, че променливата не е дефинирана коректно. За този тип грешки ще поговорим по-нататък.

Препоръка при работата с текст

Винаги, когато работите с текст, присвоявайки го на променлива, поставяйте този текст в единични кавички, за да бъде разпознат правилно. Кодът ще работи, дори ако текстът не е поставен в такива кавички, но това е изключително лоша практика.

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

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

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

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