Новые книги

У вас есть стабильный бизнес – достаточно успешный и хорошо развивающийся, но вы почему-то до сих пор не заработали те миллионы долларов, которые планировали получить?

В чем же причина того, что вы работаете больше, а зарабатываете меньше, чем хотите? Какие секреты успешного бизнеса вы не применяете на практике? Сколько способов бесплатной рекламы вы не используете? Почему ваш бизнес не приносит вам в 5 раз больше денег, чем сейчас?

Существуют сотни приемов малобюджетного (партизанского) маркетинга, которые можно применить в вашем бизнесе. Ведь иногда достаточно внести совсем небольшие изменения, чтобы поднять свою прибыль на десятки процентов.

В результате изучения книги вы:

– узнаете, как повышать продажи даже тогда, когда у других компаний вашей отрасли они падают;

– будете знать, что и когда вам сделать для увеличения вашей прибыли;

– легко обгоните конкурентов и заберете себе их клиентов;

– перестанете терять своих клиентов и продажи, убрав «узкие места»;

– сможете продавать больше и дороже, повышая свою прибыль.

Настоятельно рекомендуется собственникам и руководителям малого и среднего бизнеса, директорам по маркетингу и развитию, руководителям отделов продаж, коммерческим и исполнительным директорам, индивидуальным предпринимателям.
Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов.

Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии.

Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.

Трюки с Типами

Учебник РНР
Назад Глава 6. Типы Вперёд

Трюки с типами

PHP не требует (и не поддерживает) явного определения типа при объявлении переменной; тип переменной определяется по контексту, в котором она используется. То есть, если вы присваиваете строковое значение переменной var, var становится строкой. Если вы затем присваиваете переменной var целочисленное значение, она становится целым числом.

Примером автоматической конвертации в PHP является операция сложения '+'. Если любой из операндов float, то все операнды вычисляются как float, и результат также будет float. Если же операнды интерпретируются как целые числа, то и результат будет целочисленным.
Обратите внимание, что при этом НЕ изменяются типы самих операндов; это делается только на этапе вычисления операндов.

$foo = "0";  // $foo это строка (ASCII 48)

$foo += 2;   // теперь $foo это integer (2)
$foo = $foo + 1.3;  // теперь $foo это float (3.3)
$foo = 5 + "10 Little Piggies"; // $foo это integer (15)
$foo = 5 + "10 Small Pigs";     // $foo это integer (15)

Если последние два примера непонятны, см. Конвертация строк.

Если вы хотите форсировать вычисление переменной как имеющей определённый тип, см. раздел Приведение типов. Если вы хотите изменить тип переменной, см. settype().

Если вы хотите протестировать любой из примеров этого раздела, вы можете использовать функцию var_dump().

Примечание: поведение автоматической конвертации для массива в настоящее время не определено.

$a = 1;       // $a это integer
$a[0] = "f";  // $a становится массивом, а $a[0] содержит "f"

Предыдущий пример кажется похожим на следующий, делая $a массивом, первый элемент которого содержит 'f'. Теперь рассмотрим:

$a = "1";     // $a это string
$a[0] = "f";  // Что будет со смещением строки? Что произойдёт?

Поскольку PHP поддерживает индексирование в строках через смещение с использованием того же синтаксиса, что и при индексировании массива, вышеприведённый пример создаст проблему: должна ли $a становиться массивом с первым элементом "f", или "f" должен стать первым символом строки $a?

Исходя из этого, как указано в PHP 3.0.12 и PHP 4.0b3-RC4, результат этой автоматической конвертации рассматривается как неопределённый/undefined. Пути разрешения, однако, обсуждаются.

Приведение типов

Приведение типов в PHP работает так же, как и в C: имя нужного типа записывается в скобках перед переменной, которая к этому новому типу приводится.

$foo = 10;   		// $foo это integer
$bar = (float) $foo;    // $bar это float

Допускаются следующие приведения типов:

  • (int), (integer) - приведение к integer

  • (bool), (boolean) - приведение к boolean

  • (float), (double), (real) - приведение к float

  • (string) - приведение к string

  • (array) - приведение к array

  • (object) - приведение к object

Примечание: вместо приведения переменной к строке, вы можете также заключить переменную в двойные кавычки.

Заметьте, что табуляции и пробелы допускаются внутри скобок, поэтому следующие варианты функционально эквивалентны:

$foo = (int) $bar;
$foo = ( int ) $bar;

Возможно сейчас не очевидно, что происходит при приведении конкретных типов. Дополнительно см. разделы:

При приведении или форсировании конвертации из массива в строку, результатом станет слово Array. При приведении или форсировании конвертации из объекта в строку, результатом станет слово Object.

При приведении скалярной или строковой переменной к массиву, переменная станет первым элементом этого массива:

$var = 'ciao';
$arr = (array) $var;
echo $arr[0];  // выведет 'ciao'

При приведении скалярной или строковой переменной к объекту, переменная станет атрибутом этого объекта; имя атрибута будет 'scalar':

$var = 'ciao';
$obj = (object) $var;
echo $obj->scalar;  // выведет 'ciao'

Назад Оглавление Вперёд
NULL Вверх Переменные