Голосование
Какую CMS Вы предпочитаете
AtomX
Fapos CMS
Drunya CMS
Топ новостей
- Генератор аватарок в стиле пиксель-арт
- Скачать Fapos CMS 1.1.8 Бесплатно
- Цунами в Японии. Последствия.
- Предварительная инфа о FAPOS 1.1.9. Часть 2
- Описание версии CMS Fapos 0.9.9
- Новая версия Fapos 1.3
- Половина россиян не смогла отличить легальный контент
- Что есть Fapos CMS
- Убийца Apache у вас на пороге
- Открытое тестирование Fapos 0.9.9
Последние комментарии
Топ пользователей
Сайты на AtomX CMS
Что же такое эти типы данных? Дело в том, что любые данные имеют тип. Вот какие есть типы данных:
boolean - логические true и false
integer - целое число(сокращенно int)
string - строка
float - число с плавающей точкой
array - массив
object - объект
resourse - ссылка на ресурс(например после выполнения некоторых функций)
Дело в том, что в PHP работа с типами данных имеет свои особенности. Например этот код хорошо это иллюстрирует
Хотя, казалось бы, что если первые два сравнения истины то и последнее тоже должно быть истинно. Дело в том, что мы сравнивали эти данные через 2 "=", а это означает сравнение без учета типов. В таком случае, любая строка истина, как и любое число больше нуля.
Для жесткого сравнения с учетом типов надо использовать 3 "=". Из-за такой не жесткой типизации в PHP бывают косяки в софте. Сейчас я покажу пример из жизни
Этот код выведет "true". Такие баги потом очень трудно отследить. Дело в том, что строка в этом сравнении преобразуется в число и становится нулем. Для корректной работы такого сравнения нужно использовать 3 "=".
В таком сравнении PHP не выведет ничего, так как условие вернет false.
Как преобразовывать данные?
Если взять предыдущий пример, то можно исправить его по другому, указав типы в условии. Например так
В таком случае условие тоже вернет FALSE.
Например у нас есть число и мы хотим сделать его строкой.
Как видите, я использовал (int) для преобразования в целое число. Кроме этой конструкции есть и другие:
(string)
(int)
(array)
(float)
и т.д.
Вот вам и немного информации для размышления.
boolean - логические true и false
integer - целое число(сокращенно int)
string - строка
float - число с плавающей точкой
array - массив
object - объект
resourse - ссылка на ресурс(например после выполнения некоторых функций)
Дело в том, что в PHP работа с типами данных имеет свои особенности. Например этот код хорошо это иллюстрирует
1
2
3
4
5
6
<?php $a = 1;
$b = 2;
$c = true;
if ($a == $c) echo 'да';
if ($b == $c) echo 'да';
if ($a == $b) echo 'нет';?>
Хотя, казалось бы, что если первые два сравнения истины то и последнее тоже должно быть истинно. Дело в том, что мы сравнивали эти данные через 2 "=", а это означает сравнение без учета типов. В таком случае, любая строка истина, как и любое число больше нуля.
Для жесткого сравнения с учетом типов надо использовать 3 "=". Из-за такой не жесткой типизации в PHP бывают косяки в софте. Сейчас я покажу пример из жизни
1
2
<?php if ('asdasd' == 0) echo 'true';?>
Этот код выведет "true". Такие баги потом очень трудно отследить. Дело в том, что строка в этом сравнении преобразуется в число и становится нулем. Для корректной работы такого сравнения нужно использовать 3 "=".
1
2
<?php if ('asdasd' === 0) echo 'true';?>
В таком сравнении PHP не выведет ничего, так как условие вернет false.
Как преобразовывать данные?
Если взять предыдущий пример, то можно исправить его по другому, указав типы в условии. Например так
1
2
<?php if ((string)'asdasd' == 0) echo 'true';?>
В таком случае условие тоже вернет FALSE.
Например у нас есть число и мы хотим сделать его строкой.
1
2
3
4
5
6
7
8
9
<?php $a = 1; //сейчас это числло
$b = '1'; // а это строка, так как она в ковычках
if ($a == $b) //true
if ($a === $b) //false
$b = (int)$b; // теперь $b это число
if ($a == $b) //true
if ($a === $b) //true?>
Как видите, я использовал (int) для преобразования в целое число. Кроме этой конструкции есть и другие:
(string)
(int)
(array)
(float)
и т.д.
Вот вам и немного информации для размышления.
Типы данных в PHP
Теги: Данные типы PHP создание сайтов и программ на PHP типизация данных;
Источник: Drunya
Теги: Данные типы PHP создание сайтов и программ на PHP типизация данных;
Источник: Drunya
Сейчас online: 37. Зарегистрированных: 1. Гостей: 36.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Программирование - что может быть проще.
Программирование - что может быть проще.
AtomX 2.8 Beta - Новая версия бесплатной CMS
AtomX 2.8 Beta - Новая версия бесплатной CMS
Написание простого вируса в блокноте
Что такое API и для чего они нужны
Классы в PHP для чайников
Написание простого вируса в блокноте