Перевод в различные системы счисления

Краткое содержание

Синтаксис языка и операторы
· Выражения
Функции работы с данными
· Математические функции · Функции округления · Случайные числа · Перевод в различные системы счисления · Минимум и максимум · Степенные функции · Тригонометрия · Функции повышенной точности BCMath · Функции GMP · Функции GMP. Значения функции GMP · Функции GMP. Арифметика · Функции GMP. Математика · Функции GMP. Бинарные операции · Работа с массивами · Создание массива · Сортировка массивов · Курсор массива · Ключи и значения · Комплексная замена в строке · Работа с несколькими массивами · Получение и удаление части массива · Вставка/удаление элементов · Переменные и массивы · Строковые функции · Функции для работы с одиночными символами · Функции отрезания пробелов · Поиск в тексте · Функции сравнения · Форматирование и вывод строк · Составление/разбиение строк · Работа с блоками текста · Функции для преобразования символов · Функции изменения регистра · Установка локали (локальных настроек) · Преобразование кодировок · Функции форматных преобразований · Функции URL · Работа с бинарными данными · Строковые суммы и хеш-функции · Символические ссылки. Жесткие ссылки · Функции даты и времени · Логические функции определения типа переменной · Функции переменных · Функции для работы с функциями · Календарные функции
Файлы и сети
· Работа с файлами · Открытие файла · Закрытие файла · Чтение и запись · Положение указателя текущей позиции · Функции для определения типов файлов · Определение параметров файла · Функции для работы с именами файлов · Функции манипулирования целыми файлами · Другие функции · Функции для работы с каталогами · Манипулирование каталогами · Работа с записями · FTP · Работа с FTP-сервером · Работа файлами · Функции IMAP · Функции SNMP · Функции Vmailmgr · Сетевые функции
Управляющие функции
· Отслеживание и обработка ошибок · Введение · Функции обработки ошибок · Установка пользовательского обработчика ошибок · Управление сессиями · Зачем нужны сессии.Механизм работы сессий · Инициализация сессии и регистрация переменных · Имя группы сессии · Идентификатор сессии · Другие функции · Обзор обработчиков · Про сессии и Cookies · Работа с WWW · Установка заголовков ответа · Получение заголовков запроса · Работа с Cookies · SSI и функция virtual() · Управление выводом · Введение · Функции управления выводом · Управление исполнением сценария PHP · Функции управления сценарием · Статус подключений · Дополнительные функции · Почтовые функции · Функции запуска программ · Функции динамической загрузки · Информационные функции
Взаимодействие с базами данных
· База данных MySQL · Работа с базами данных · Обработка результатов запроса
Графика
· Работа с изображениями и библиотека GD · Параметры изображения · Работа с цветом в формате RGB · Графические примитивы · Работа с фиксированными шрифтами · Работа со шрифтами TrueType · PDF-документы · Введение · Открытие документа · Работа с текстом · Установка масштаба и системы координат · Черчение и заполнение фигур · Размещение рисунков · Стиль документа

 

Выражения

if
Позволяет организовывать выполнение фрагментов кода по условию.

Синтаксис:
if (выражение) statement

Может иметь неограниченную степень вложенности в другие IF.

if($a>$b) print "$a больше $b";if($a>$b){echo "$a больше $b;$b=$a;}

else
Расширяет возможности IF по части обработки вариантов выражения, когда оно равно FALSE.

Выражение ELSE выполняется только если IF равно FALSE.

if ($a>$b) { echo "a больше b";} else { echo "a меньше b";}

elseif
Является комбинацией IF и ELSE. Позволяет выполнить выражение, если значение IF равно FALSE, но в отличии от ELSE оно выполниться, если выражение ELSEIF равно TRUE.

if ($a>$b) { echo "a больше b";} elseif ($a==$b) { echo "a равно b";} else { echo "a меньше b";}

if_endif
Один из возможных вариантов группирования операторов с оператором IF.

Удобно при внедрении больших блоков HTML-кода внутрь оператора IF.

if ($a==1): echo "a равно 1";elseif ($a==2): echo "a равно 2";else: echo "а не равно 1 и 2";endif;<?php if ($a==5):?>A=5<?php endif;?>-Блок HTML-кода A=5 будет виден,      если выполнется условие $a==5

while
Простейший тип цикла в PHP. Заставляет PHP выполнять вложенные операторы до тех пор, пока условие равно TRUE. Если условие равно FALSE с самого начала, то цикл не выполнится не разу.

Синтаксис: WHILE(условие)выражения

Можно сгруппировать несколько операторов внутри фигурных скобок или использовать альтернативный синтаксис:
WHILE(условие)выражения... ENDWHILE;

$a=1;while ($a<=5) { echo $a++; }$a=1;while ($a<=5): echo $a; $a++;endwhile;

- Эти два примера выводят номера с 1 до 5.

do_while
Цикл, аналогичный WHILE, но значение логического выражения проверяется не до, а после окончания итерации. Основное отличие - то что цикл хоть один раз но выполнится.

$a=1;do { echo $a;} while ($a>1);

Можно прекратить использовать блок операторов в середине путем внедрения оператора BREAK в цикл DO..WHILE(0):

do { if ($a==5) { echo "A равно 5" break; } $a *= $b; if ($a<$minimum) { break; } echo "A равен $a";} while(0);

for
Наиболее мощный цикл в PHP.

Синтаксис:
FOR (условие1; условие2; условие3)выражения

условие1 - Безусловно выполняется (вычисляется) в начале цикла
условие2 - Проверяется в начале каждой итерации. Если оно равно TRUE, то цикл продолжается и выполняются вложенные операторы. Если оно равно FALSE, то цикл заканчивается.
условие3 - Выполняется (вычисляется) в конце каждой итерации.
Каждое из этих условий может быть пустым.

Пример 1: for ($a = 1; $a <= 5; $a++) { echo $a;} Пример 2: for ($a = 1;;$a++) { if ($a > 5) { break; } echo $a;} Пример 3: $a = 1;for (;;) { if ($a > 5) { break; } print $a; $a++;} Пример 4: for ($a = 1; $a <= 5; print $a, $a++);

PHP поддерживает альтернативный синтаксис FOR:
FOR(усл1; уcл2; усл3;):операторы;...;ENDFOR;

break
Прерывает выполнение текущего цикла.

Пример: $a = 0;while ($a < 5) { if ($arr[$a] == "stop") { break; } $a++;}

continue
Переходит на начало ближайшего цикла.

while (list($key,$value) = each($arr)) { if ($key % 2) { continue; } do_something_odd ($value);}

switch
Сравнивает переменную или выражение с различными значениями и выполняет различные фрагменты кода в зависимости от того, чему будет равно значение выражения.

switch ($a) { case 0: echo "A равно 0"; break; case 1: echo "A равно 1"; break; case 2: echo "A равно 2"; break; default: echo "A не равно 0, 1, 2";}

default - соответствует всем значениям, которые не удовлетворяют другим CASE. CASE - могут быть любого скалярного типа, т.е. целые числа или числа с плавающей запятой и строки.

require
Заменяет себя содержимым указанного файла.

Пример:
require("include.inc");

Но его нельзя поместить внутрь цикла и ожидать, что он включит содержимое другого файла несколько раз в процессе каждой итерации. Для этого есть INCLUDE.

include
Вставляет и выполняет содержимое указанного файла.

$files = array ("first.inc", "second.inc", "third.inc");for ($a = 0; $a < count($files); $a++) { include($files[$a]);}

Так как INCLUDE() это специальный оператор, требуется заключать его в фигурные скобки при использовании внутри условного оператора.

if ($a < 5) { include("file_1.inc"); } else { include("file_2.inc"); }

function
Объявление функции.

Внутри функции может быть любой верный код PHP, даже объявление другой функции или класса. Функции должны быть объявлены перед тем, как на них ссылаться.

function foo ($arg_1, $arg_2,...,$arg_n) { echo "Пример функции."; return $retvalue;}

Возвращение результатов:
Результаты возвращаются через необязательный оператор return.
Возвращаемый результат может быть любого типа, включая списки и объекты.

function my_sqrt ($num) { return $num * $num;}echo my_sqrt(4); //выведет 16

Множественные результаты не могут быть возвращены в качестве результата, но вы можете реализовать это путем возврата списка:

function foo() { return array (0, 1, 2);}list ($zero, $one, $two) = foo();

Аргументы:
Информация может быть передана функции через список аргументов, которые являются разделенным запятыми списком переменных и/или констант.
Списки аргументов переменной длины не поддерживаются, но того же можно достичь, передавая массивы.

function takes_array($input) { echo "$input[0] + $input[1] = ", $input[0]+$input[1];}

Передача по ссылке:
По умолчанию, аргументы функции передаются по значению. Для изменения аргументов в функции их надо передавать по ссылке.
Для этого надо поставить амперсанд (&) перед именем аргумента в объявлении функции:

function foo(&$bar) { $bar.= "и добавочная строка.";}$str = "Это строка, ";foo($str);echo $str; // выведет: "Это строка, и добавочная строка."function foo($bar) { $bar.= "и добавочная строка.";}$str = "Это строка, ";foo($str);echo $str; //выведет: "Это строка, "foo(&$str);echo $str; //выведет: "Это строка, и добавочная строка."

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

function day ($type = "понедельник") { echo "Сегодня $type.";}echo day();      //выведет: Сегодня понедельник.echo day("вторник"); //выведет: Сегодня вторник.

Аргументы по умолчанию при описании должны находиться справо от остальных аргументов.

function day($day_num, $type = "понедельник") { return "Сегодня $day_num - $type.";}

old_function
Оператор OLD_FUNCTION позволяет вам определяить функцию используя синтаксис PHP/FI2 (за исключением того, что вы должны заменить "function" на "old_function").

Это свойство только для совместимости и должно использоваться лишь конверторами PHP/FI2 -> PHP3. Описанные таким образом функции не могут быть вызваны из служебного кода PHP. Вы можете обойти это путем введения специальной функции в терминах PHP3, которая будет вызывать OLD_FUNCTION.

class
Набор переменных и функций, работающих с этими переменными.

<?phpclass Cart { var $items; // Количество вещей в корзине покупателя // Добавить $num наименований типа $artnr в корзину function add_item ($artnr, $num) { $this->items[$artnr] += $num; } // Убрать $num наименований $artnr из корзины function remove_item ($artnr, $num) { if ($this->items[$artnr] > $num) {   $this->items[$artnr] -= $num;   return true; } else { return false; } }}?>

Классы это типы, то есть, заготовки для реальных переменных. Вы должны создавать переменные желаемого типа, используя оператор new:
$cart = new Cart;
$cart->add_item("10", 1);

Классы могут быть расширениями других классов. Расширенный класс обладает всеми переменными и функциями базового класса и тем, что вы определите при расширении класса. Это делается используя ключевое слово extends:

class Named_Cart extends Cart { var $owner; function set_owner ($name) { $this->owner = $name; }}

Это определяет класс Named_Cart, который имеет все переменные и функции класса Cart плюс дополнительную переменную $owner и дополнительную функцию set_owner(). Вы можете создать поименованую корзину обычным образом и установить или получить владельца корзины. Также вы можете использовать и нормальные функции корзины в поименованой корзине:

$ncart = new Named_Cart; //Создать корзину$ncart->set_owner ("kris");//Указать владельцаprint $ncart->owner;      //Распечатать имя владельца корзины$ncart->add_item ("10", 1);//унаследовано из обычной корзины

 

 

































Функции округления

abs
Возвращает модуль числа.

Синтаксис:
mixed abs(mixed $number)

Тип параметра $number может быть float или int, а ти п возвращаемого значения всегда совпадает с типом этого параметра.

$x = abs(-4); // $x=4$x = abs(-7.45); // $x=7.45

round
Округление дробного числа до целого.

Синтаксис:
double round(double $val)

Округляет $val до ближайшего целого и возвращает результат.

$foo = round(3.4); // $foo == 3.0$foo = round(3.5); // $foo == 4.0$foo = round(3.6); // $foo == 4.0$x = round(5.3); // $x=5$x = round(5.4); // $x=5$x = round(5.45); // $x=5$x = round(5.5); // $x=6

ceil
Дополнение дробного числа до следующего целого.

Синтаксис:
int ceil(float $number)

Возвращает наименьшее целое число, не меньше $number. Разумеется, передавать в $number целое число бессмысленно.

$x = ceil(5.0); // $x=5$x = ceil(5.1); // $x=6$x = ceil(5.9); // $x=6

floor
Удаление дробной части числа.

Синтаксис:
int floor(float $number)

Возвращает максимальное целое число, не превосходящее $number.

$x = floor(5.1); // $x=5$x = floor(5.9); // $x=5

 









Случайные числа

srand
Производит инициализацию генератора случайных чисел.

Синтаксис:
void srand(int seed)

Инициализирует генератор случайных чисел занчением seed.

srand((double) microtime()*1000000);$random = rand();echo $random;

Вот что получиться:

1041755481

getrandmax
Возвращает максимально возможное случайное число.

Синтаксис:
int getrandmax()

Эта функция возвращает максимальное значение, которое можно получить при помощи функции генерации случайных чисел rand().
Обычно это 32767

rand
Производит генерацию случайного числа.

Синтаксис:
int rand([int max [, int min]])

При вызове с необязательными параметрами min и max эта функция генерирует случайное число, лежащее в пределах этих параметров включительно.
Если параметры min и max отсутствуют, возвращается число, лежащее в пределах от 0 до RAND_MAX.
Для корректной работы данной функции перед ее использованием нужно проинициализировать генератор случайных чисел функцией srand().

mt_rand
Функция возвращает MT-случайное число, достаточно равномерно даже для того, чтобы использовать его в криптографии.

Синтаксис:
int mt_rand(int $min=0, int $max=RAND_MAX)

Если вы хотите генерировать числа не от 0 до RAND_MAX (эта константа задает максимально допустимое случайное число, и ее можно получить при помощи вызова mt_getrandmax()), задайте соответствующий интервал в параметрах $min и $max. Не забудьте только перед первым вызовом этой функции запустить mt_srand().

mt_srand(time()+(double)microtime()*1000000);$x = mt_rand(1,100); // $x - значение от 1 до 100

mt_srand
Настраивает MT-генератор случайных чисел на новую последовательность.

Синтаксис:
void mt_srand(int $seed)

Дело в том, что хотя числа, генерируемые mt_rand(), достаточно равновероятны, но у них есть один нелостаток: последовательность сгенерированных чисел будет одинакова если сценарий вызывать несколько раз подряд. Функция mt_srand() как раз решает данную проблему: она выбирает новую последовательность на основе параметра $seed, причем практически непредсказуемым образом.

mt_srand(time()+(double)microtime()*1000000);for($i=0;$i<=10;$i++) { $x = mt_rand(1,10);};

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

mt_getrandmax
Возвращает максимальное MT-случайное число.

Синтаксис:
int mt_getrandmax()

Возвращает максимальное число, которое может быть сгенерированно функцией mt_rand() - иными словами, константу RAND_MAX

$max = mt_getrandmax();// $max = 2147483647

lcg_value
функция генерирует случайное дробное число.

Синтаксис:
double lcg_value()

Эта функция возвращает псевдослучайное дробное число в диапазоне от 0 до 1.

 


















Перевод в различные системы счисления

base_convert
Конвертация числа из одной системы счисления в другую.

Синтаксис:
string base_convert(string $number, int $frombase, int $tobase)

Переводит число $number (заданное как строка в системе счисления по основанию $frombase) в систему по основанию $tobase. Параметры $frombase и $tobase могут принимать значения только от 2 до 36 включительно. В строке $number цифры обозначают сами себя, а буква a соответствует 11, b -12, и т.д. до z, которая обозначает 36. Например, следующие команды выведут 11111111 (8 единичек), потому что это - не что иное, как представление шестнадцатиричного числа FF в двоичной системе счисления:

$x = base_convert("FF",16,2);  //$x = 11111111$x = base_convert("11111111",2,16); //$x = FF$x = base_convert("200",10,16);  //$x = C8

bindec
Производит конвертацию двоичного числа в десятичное.

Синтаксис:
int bindec(string binary_string)

Преобразует двоичное число, заданное в строке binary_string, в десятичное число. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647

$x = bindec(11111111); // $x = 255$x = bindec(10101010); // $x = 170$x = bindec(2147483647); // $x = 1111111111111111111111111111111

decbin
Производит конвертацию десятичного числа в двоичное.

Синтаксис:
string decbin(int $number)

Возвращает строку, представляющую собой двоичное представление целого числа $number. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647, которое выглядит как 31 единичка в двоичной системе.

Существует аналогичные функции для восьмеричной и шестнадцатиричной систем. Называются они так же, только вместо "bin" подставляются соответственно "oct" и "hex".

$x = decbin(255); // $x = 11111111$x = decbin(2147483647); // $x = 1111111111111111111111111111111

dechex
Производит конвертацию десятичного числа в шестнадцатеричное.

Синтаксис:
string dechex(int number)

Возвращает строку, представляющую собой шестнадцатеричное представление целого числа number. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647

$x = dechex(2147483647); // $x = 7fffffff

decoct
Производит конвертацию десятичного числа в восьмеричное.

Синтаксис:
string decoct(int number)

Возвращает строку, представляющую собой восьмеричное представление целого числа number. Максимальное число, которое еще может быть преобразовано, равно 2 147 483 647

$x = dechex(2147483647); // $x = 17777777777

hexdec
Производит конвертацию шестнадцатеричного числа в десятичное.

Синтаксис:
int hexdec(string hex_string)

Преобразует шестнадцатеричное число, заданное в строке hex_string, в десятичное число. Максимальное число, которое еще может быть преобразовано, равно 7fffffff

$x = hexdec(7fffffff); // $x = 2147483647

octdec
Производит конвертацию восьмеричного числа в десятичное.

Синтаксис:
int octdec(string octal_string)

Преобразует восьмеричное число, заданное в строке octal_string, в десятичное число. Максимальное число, которое еще может быть преобразовано, равно 17777777777

$x = octdec(17777777777); // $x = 2147483647

deg2rad
Производит конвертацию градусов в радианы.

Синтаксис:
double deg2rad(double number)

Преобразует градусы, заданные в параметре number, в радианы.

rad2deg
Производит конвертацию радианов в градусы.

Синтаксис:
double rad2deg(double number)

Преобразует радианы, заданные в параметре number, в градусы.

number_format
Форматирование числа.

Синтаксис:
number_format($number, $decimals, $dec_point=".", $thousands_sep=",");

Эта функция форматирует число с плавающей точкой с разделением его на триады с указанной точностью. Она может быть вызвана с двумя или четырьмя аргументами, но не с тремя! Параметр $decimals задает, сколько цифр после запятой должно быть у числа в выходной строке. Параметр $dec_point представляет собой разделитель целой и дробной частей, а параметр $thousands_sep - разделитель триад в числе (если указать на его месте пустую строку, то триады не отделяются друг от друга).





















Минимум и максимум

min
Эта функция возвращает наименьшее из чисел, заданных в ее аргументах.

Синтаксис:
mixed min(mixed $arg1 [int $arg2,..., int $argn])

Различают два способа вызова этой функции: с одним параметром или с несколькими. Если указан лишь один параметр (первый), то он обязательно должен быть массивом и возвращается минимальный элемент этого массива. В противном случае первый (и остальные) аргументы трактуются как числа с плавающей точкой, они сравниваются, и возвращается наименьшее. Тип возвращаемого значения выбирается так: если хотябы одно из чисел, переданных на вход, задано в формате с плавающей точкой, то и результат будет с плавающей точкой, в противном случае результат будет целым числом. С помощью этой функции нельзя лексографически сравнивать строки - только числа.

$x = min(5,3,4,6,5,6,8,9);// $x = 3$x[0]=4;$x[1]=1;$x[2]=5;$x[3]=2;echo min($x); // выведет 1

max
Получение наибольшего аргумента.

Синтаксис:
mixed max(mixed $arg1 [int $arg2,..., int $argn])

Функция работает аналогично min(), только ищет максимальное значение.

$x = max(5,3,4,6,5,6,8,9);// $x = 9$x[0]=4;$x[1]=1;$x[2]=5;$x[3]=2;echo max($x); // выведет 5

 





Степенные функции

sqrt
Возвращает квадратный корень из аргумента.

Синтаксис:
float sqrt(float $arg)

Если аргумент отрицателен, то генерируется предупреждение, но работа программы не прекращается!

$x = sqrt(9); // $x = 3echo sqrt(25); // выведет 5echo sqrt(-25); // выведет -1.#IND

log
Возвращает натуральный логарифм аргумента.

Синтаксис:
float log(float $arg)

В случае недопустимого числа печатает предупреждение, но не завершает программу.

$x = log(exp(2)); // exp(2) - e в степени 2              // $x = 2$x = log(M_E); // $x = 1echo log(10); // выведет 2.302585092994

log10
Возвращает десятичный логарифм аргумента.

Синтаксис:
float log10(float $arg)

В случае недопустимого числа печатает предупреждение, но не завершает программу.

echo log10(100); // выведет 2

exp
Возвращает e (2,718281828) в степени $arg.

Синтаксис:
float exp(float $arg)

$x = exp(1); // $x = 2.718281828459

pow
Возведение в степень.

Синтаксис:
float pow(float $base, float $exp)

Возвращает $base в степени $exp.

$x = pow(3,2); // $x = 9$x = pow("3",2); // $x = 9

 











Тригонометрия

sin
Возвращает синус аргумента.

Синтаксис:
float sin(float $arg)

Аргумент задается в радианах.

$x = sin(M_PI_2); // $x = 1

cos
Возвращает косинус аргумента.

Синтаксис:
float cos(float $arg)

$x = cos(0); // $x = 0$x = cos(M_PI); // $x = -1

tan
Возвращает тангенс аргумента, заданного в радианах.

Синтаксис:
float tan(float $arg)

$x = tan(M_PI_4); // $x = 1

acos
Возвращает арккосинус аргумента.

Синтаксис:
float acos(float $arg)

$x = acos(0); // $x = pi/2$x = acos(1); // $x = 0

asin
Возвращает арксинус.

Синтаксис:
float asin(float $arg)

$x = asin(0); // $x = 0$x = asin(1); // $x = pi/2

atan
Возвращает арктангенс аргумента.

Синтаксис:
float atan(float $arg)

$x = atan(0); // $x = 0$x = atan(1); // $x = pi/4

atan2
Получение арктангенса двух чисел.

Синтаксис:
float atan2(float $y, float $x)

Возвращает арктангенс величины $y/$x, но с учетом той четверти, в которой лежит точка ($x,$y). Эта функция возвращает результат в радианах, принадлежащий отрезку от -? до?.

$x = atan2(1,1); // $x = pi/4$x = atan2(-1,-1); // $x = -3*pi/4

pi
Возвращает число пи - 3,14.

Синтаксис:
double pi()

Эту функцию обязательно нужно вызывать с парой пустых скобок:

$x = pi()*2 // $x = 31.415926535898

 


















Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: