Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Нестандартные конструкции

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Invert
Отправлено: 16 Декабря, 2010 - 07:34:16
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




Я вроде как долго программирую, но с некоторыми конструкциями в языке сталкиваюсь впервые.

Если кто объяснит или даст ссылку на ресурс, который максимально развернуто объясняет, буду очень благодарен.

Что за конструкции и способы их применения?:
PHP:
скопировать код в буфер обмена
  1. $jad = isset ( $_GET['jad'] ) ? TRUE : FALSE;

и с примера JustUserR
PHP:
скопировать код в буфер обмена
  1. $al_time=(integer)($al_time/1000000);
 
 Top
Uchkuma
Отправлено: 16 Декабря, 2010 - 08:57:01
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Первое:
Тернарный оператор. Короткая запись, удобна при использовании в строках и в выводе echo, например. Абсолютно идентично:
PHP:
скопировать код в буфер обмена
  1. if(isset($_GET['jad'])){
  2. $jad = true;
  3. } else {
  4. $jad = false;
  5. }

Второе:
Присваиваемое значение $al_time приводится к целому.
 
 Top
Invert
Отправлено: 16 Декабря, 2010 - 09:02:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




Спасибо.

По поводу второго: (string), (bool), (array) ..?


Сейчас попробую поискать описания в мануале.
(Добавление)
Нашел,
http://www.php.su/learnphp/datatypes/?mn
 
 Top
OrmaJever Модератор
Отправлено: 16 Декабря, 2010 - 10:48:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




перед назвиние переменой можно поставить в скобках тип. в некоторых языках это обьзательно но в php интрерпритатор всё делает за нас.
(Добавление)
вот таким не хитрым способом переменая $str превращается во что угодно
PHP:
скопировать код в буфер обмена
  1. $str = '213asdsadas';
  2. $int = (int)$str;
  3. $bool = (bool)$str;
  4.  
  5. var_dump($str);
  6. var_dump($bool);
  7. var_dump($int);


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Invert
Отправлено: 16 Декабря, 2010 - 11:05:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




Спасибо, я уже все понял.
И вроде (bool) там нет в списке.
 
 Top
Мелкий Супермодератор
Отправлено: 16 Декабря, 2010 - 11:30:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




OrmaJever пишет:
в некоторых языках это обьзательно

А можно пример языка? Однако
Это стандартная операция приведения типов в стиле С (замечу, что не в стиле С++, для которого данная возможность оставлена для совместимости но не предпочтительна для использования). Но обязательным для него не является, только принудительное указание компилятору сменить тип значения. Например из unsigned int 4294967294 получить -2 (signed int). Ну или чего-нибудь не столь искусственное.

Invert пишет:
И вроде (bool) там нет в списке.

А это что? http://www.php.su/learnphp/datatypes/?mn#boolean


-----
PostgreSQL DBA
 
 Top
Invert
Отправлено: 16 Декабря, 2010 - 11:36:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




Мелкий пишет:
А это что? http://www.php.su/learnphp/datatypes/?mn#boolean

Не заметил. Еще и удивился: А буля почему нет? =)
Нужно выспаться ...
 
 Top
OrmaJever Модератор
Отправлено: 16 Декабря, 2010 - 11:37:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Мелкий пишет:
А можно пример языка?

я не помню. Я узнал про типы в php когда мне знакомый сказал. Говорил что типы в некоторых языках указывать обязательно.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
JustUserR
Отправлено: 16 Декабря, 2010 - 19:40:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Invert пишет:
И с примера JustUserR $al_time=(integer)($al_time/1000000);
Использование языка PHP предполагает возможность осуществление хранения информационных полей заданного типа в универсальных переменных - что включает требования возможности операции конверирования элементов выражений а также получения оригинальных значений без осуществления автоматического преобразования По этим причинам язык PHP поддерживает включение операций явного преобразование типов данных - а также операторов его идентификации и явного перевода компонентов в сооответствующий уровень представления
В конкретном рассматриваемом причине использование операции приведения к целому числу используется в качестве средства округления в меньшую сторону - однако во многих случаях такая операция может применяться и для более сложных преобразований


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
dsb80
Отправлено: 17 Декабря, 2010 - 02:03:16
Post Id



Гость


Покинул форум
Сообщений всего: 71
Дата рег-ции: Янв. 2009  
Откуда: СПб


Помог: 0 раз(а)




OrmaJever пишет:
в некоторых языках это обьзательно


В некоторых языках... например Pascal и его последователь Delphi - нужно указывать тип переменной при её инициализации, в начале кода, а в php инициализация происходит при первом обращении к переменной автоматически. В данном случае это конечноже конструкция языка приведения типов данных.
В некоторыхт языках есть вообще только 2 типа данных: числовые и командные, например Assembler.


-----
Не слушайте... После 19.00 вместо меня пишет ПЫВО
 
 Top
Invert
Отправлено: 17 Декабря, 2010 - 06:16:10
Post Id



Частый гость


Покинул форум
Сообщений всего: 223
Дата рег-ции: Нояб. 2010  


Помог: 5 раз(а)




dsb80 пишет:
например Assembler.

Ну вы вспомнили! Push eax вам за это.
 
 Top
JustUserR
Отправлено: 17 Декабря, 2010 - 20:35:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dsb80 пишет:
А в php инициализация происходит при первом обращении к переменной автоматически
Использование языков программирование включюащих проведение актоматической типизиации элементов в действительности включает определение соответствующего параметра как для самой переменной так и некоторого выражения - в случае явного присваивания заданному элементу перемнной прозводится автоматическая типизация левостороннего выражения в соответствии с выбранным правосторонним выражением - или допустимая конвертация в зависимости от контекста В языка PHP переменные представлены в виде включей ассоциативного массива таблицы имен текущего пакетного пространтства - по этой причине все они фактчески являются определенными в любой момент времени и для них обеспечено хранение специального NULL-типа


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB