15 Декабря 2017 03:38 
Навигация
 +  - 
Скачать игры
Сейчас на сайте
15.12.2017
Warhangel
02:57:48
offline
13.12.2017
111222333
1 день
offline
11.12.2017
Aleksan...
3 дней
offline
10.12.2017
mrslis
4 дней
offline
06.12.2017
Splus
1 неделя
offline
Последние фото
Game of Blocks : WesterosCraft and Game of Thrones
Game of Blocks : Wes...
Альбом: Скриншоты

Вынос трёх пати куполом
Вынос трёх пати куполом
Альбом: Скриншоты



Альбом: Флора

Последние видео
Видео Rhine Falls : Rhine Falls Live Camera streeeam

Онлайн камеры:  Rhine Falls

Видео Live Cam, Central Memorial Park, Calgary, Alberta : Central Memorial Park is a park located in central Calgary\

Онлайн камеры:  Live Cam, Central Memorial Park, Calgary, Alberta

Видео The University of Tampa Live Webcam : The University of Tampa

Онлайн камеры:  The University of Tampa Live Webcam

Наша кнопочка
FAQ7.ru
Код:
RSS каналы
Новости
Комменты
Форум
Статьи
Фото
Файлы
Ссылки
Объявления
Реклама
Регистрация сайта в каталогах, раскрутка и оптимизация сайта, контекстная реклама
Автор темы: Warhangel
ID темы: 217
Информация о теме:
Имеются 2 сообщений по данной теме, которая была просмотрена 3808 раз.
Реклама
livecoin Обменник
Просмотр темы
Логин:
Пароль:  
Форум » Тематические » Программирование » PHP
Просмотр темы
Текущий рейтинг: (Всего: 0 голосов)  
Ответить
Иконка 
Урок php - Самые основы.
Наверх Распечатать сообщение #1
Опубликовано 01-09-2010 01:51
Аватар пользователя

Супер Администратор



Сообщений: 2092
Вас поблагодарили: 17
раз(а) в 17 сообщениях

Зарегистрирован: 24.03.10
Со дня регистрации: 2823
Откуда: Россия
Пол: Мужской

Скрыть награды


Пожаловаться на это сообщение 

Переменные выполняют работу - хранение данных в оперативной памяти, а за хорошую работу надо платить. Именно поэтому переменная представлена в виде знака доллара и названия переменной. К примеру: $variable .

Сама по себе переменная существовать не может. Ей нужны её данные так-же, как нам холодильник. При помощи присваивания мы кладём в переменную данные. Присваивание выглядит следующим образом: $var = что-то;

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

Так же как и наш холодильник, переменная хранит еду.
Еда бывает разных типов - напитки, гарниры, салаты, печеное, молочные продукты и т.д.
Данные тоже бывают разных типов.. целые числа, дробные числа, наборы букв, наборы других данных и еще несколько.

Целое число ( Integer )

Как вам известно, числа бывают положительные, отрицательные и в разных системах исчисления. Чаще всего подразумевается что целое это число из множества Z = {..., -2, -1, 0, 1, 2, ...}.
Предел совершенства наших компьютеров позволяет использовать в качестве целого числа, числа из диапазона Signed: −2,147,483,648 to +2,147,483,647.

<?PHP

$a = 1234; // десятичное число
$a = -123; // отрицательное число
$a = 0123; // восьмеричное число (эквивалентно 83 в десятичной системе)
$a = 0x1A; // шестнадцатеричное число (эквивалентно 26 в десятичной системе)

?>


Возможно тебе будет любопытно что произойдёт если указать число вне диапазона..
Я тебе напомню попробовать в конце урока =)

Дробные числа ( Float )

Числа с плавающей точкой (они же числа двойной точности или действительные числа)
отличная кандидатура на хранение к примеру результата деления 7 на 3

<?PHP

$a = 1.234;
$b = 1.2e3; //   1.2 x 10^3
$c = 7E-10; //   Из курса математики напомню что буквой e обозначают экспоненту.

?>


Как правило диапазон возможностей здесь немного шире как правило, ~1.8e308 с точностью около 14 десятичных цифр (64-битная система)

Довольно часто простые десятичные дроби вроде 0.1 или 0.7 не могут быть преобразованы в свои внутренние двоичные аналоги без небольшой потери точности. Это может привести к неожиданным результатам.
Это связано с невозможностью точно выразить некоторые дроби в десятичной системе счисления конечным числом цифр. Например, 1/3 в десятичной форме принимает вид 0.3333333. . ..

Строки ( String )

Строка - это набор символов. В PHP символ это то же самое, что и байт, это значит, что возможно ровно 256 различных символов.
Замечание: Нет никаких проблем, если строка очень велика. Практически не существует ограничений на размер строк, налагаемых PHP, так что нет абсолютно никаких причин беспокоиться об их длине.
Строки в php можно определить тремя способами: одинарными кавычками, двойными кавычками и heredoc синтаксисом.

<?PHP

echo 'это простая строка';

echo 'Также вы можете вставлять в строки
символ новой строки таким образом,
поскольку это нормально';

// Выведет: Однажды Арнольд сказал: "I'll be back"
echo 'Однажды Арнольд сказал: "I\'ll be back"';
// Обрати внимание: в строке присутствует одинарная кавычка. Для того, чтобы php
// понял, что это не конец строки, а часть ее, нам нужно ему об этом сообщить.
// Обратный слэш выполняет функцию Экранирования.

// Выведет: Это не вставит: \n новую строку
echo 'Это не вставит: \n новую строку';
// В операционных системах используются особые специальные символы в тексте
// которые помогают системе понять, где находится конец строки и начинается новая,
// где находится табуляция и где вообще заканчивается весь текст.
// Символ \n обозначает конец строки и переход на новую.
// Слэш является частью символа, а не экранированием.
// Если бы php всё таки вставил этот символ, то мы бы получили вывод в две строки:
// Это не вставит:
// новую строку

// Выведет: Переменные $expand также $either не подставляются
echo 'Переменные $expand также $either не подставляются';

?>


Строка в двойных кавычках
Так же как и в одинарных, текст взятый в двойные кавычки это строка.
$var = "val";
Если строка определяется в двойных кавычках, либо при помощи heredoc, переменные внутри нее обрабатываются.

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

<?PHP

$beer = 'Heineken';
echo "$beer's taste is great"; // работает, "'" это неверный символ для имени переменной
echo "He drank some $beers";   // не работает, 's' это верный символ для имени переменной
echo "He drank some ${beer}s"; // работает
echo "He drank some {$beer}s"; // работает

?>


Heredoc-текст ведет себя так же, как и строка в двойных кавычках, при этом их не имея. Это означает, что вам нет необходимости экранировать кавычки в heredoc.
Напомню что если в строке определенной кавычками встречается кавычка, нужно
сообщить php что это часть строки - экранировать кавычку. Как в примере $var='I\'m';

<?PHP

echo <<<HEREDOC1
Меня зовут "$name". Я печатаю very$fast.
Теперь я вывожу very{$fast}.
Это должно вывести заглавную букву 'A': \x41
HEREDOC1;

?>


В данном примере строка "Меня зовут ... ... букву А" образовывается при помощи синтаксиса HereDoc. Обратите внимание что вместо кавычек в начале и конце строки стоит название строки - HEREDOC1. <<<HEREDOC1 означает начало строки под названием HEREDOC1, а HEREDOC1; её конец.

Массив ( Array )

Массив в php это холодильник хранящий набор продуктов.

<?PHP

$array = Array('Сыр','Колбаса');

?>


В данном примере в нашем холодильнике array находятся два продукта относящиеся к категории Строк (и потому заключены в кавычки).
Необычным тебе может показаться что счёт продуктов в программировании начинается с нуля. Именно поэтому в нашем массиве нулевой элемент будет 'Сыр', а первый элемент 'Колбаса'.

<?PHP

$array = Array('Сыр','Колбаса'); // Определяем массив с двумя строками
echo $array[0]; // Обращение к нулевому элементу. Выведет Сыр.
$array[1] = 'Мороженое'; // Присвоение первому элементу. заменяем колбасу на молоко
echo $array[1]; // Выведет Мороженое.

?>


Ассоциативные массивы

С таким же успехом как и в предыдущем примере, элементами массива могут быть не только строки, но и другие переменные. $array = Array($var1 , $var2);
У любой переменной есть название и есть значение, а это значит что в массив мы можем также записать пары данных в виде название-значение. Массив такого рода называется
ассоциативным благодаря ассоциации названия и значения, а название в таком массиве называется ключом.
$arr = Array('key'=>'val' , 'key2'=>'val2');
Таким образом в массиве нет нулевого и первого элемента, но есть элемент key и элемент key2.

<?PHP

$arr = Array('key'=>'val' , 'key2'=>'val2'); // Определяем массив с двумя строками
echo $arr['key']; // Обращение к элементу с ключом key. Выведет val
echo $arr[0]; // Обращение к нулевому элементу. Ошибка. Нет такого элемента
$arr['key2'] = 'Мороженое'; // Присвоение элементу с ключом key2 нового значения.
echo $arr['key2']; // Выведет Мороженое.

?>


Многомерные массивы

Массив может содержать любой тип данных в том числе и другой массив.
Массив массивов называется многомерным массивом.
Всего есть два типа массивов - числовые и ассоциативные.
Первый вид представляет из себя массив с ключами в виде чисел как в самом первом примере. Всё остальное является ассоциативным массивом.

<?PHP

$ARRAY = Array // числовой. Ключи 0,1 и 2
(
 Array('Сыр','Колбаса') , // числовой. Ключами являются 0 и 1
 Array('key'=>'val' , 'key2'=>'val2') , // Ассоц. Ключи key и key2
 Array('key3'=>'val3', 'Чипсы') // Тоже Ассоц. Ключи key3 и 0
);

// Для обращения к какому либо элементу многомерного массива, к примеру к val3
// следует обращаться так:
echo $ARRAY[2]['key3'];
// В массиве ARRAY обращаемся сначала к элементу номер 2 [ Array('key3'=>'val3', 'Чипсы')  ]
// а там к элементу с ключом key3


$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6];    // 5
echo $arr["somearray"][13];   // 9
echo $arr["somearray"]["a"];  // 42

?>


Создание массива и его наполнение

Содержание массива может быть задано как это было в примерах - заранее.
$arr = Array(1,2,3); // ключи 0,1 и 2
Так же как мы присваивали ранее элементу в массиве другое значение
можно создать и новый элемент
$arr[3] = 5; // Создаётся элемент с индексом 3 и ему тут же присваивается число (integer) 5.

Попробуй предположить что произойдёт при создании элемента $arr[] = 6;.
В этом случае, создастся элемент в массиве, ему присвоится значение 6, а индекс с которым элемент запишется в массив будет максимальный целочисленные уже существующий индекс + 1.
Таким образом после $arr[3] = 5; максимальный целочисленный индекс стал 3.
При $arr[] = 6; максимальный индекс + 1 будет 4. Таким образом $arr[4] становится 6.

<?PHP

$arr = Array('key3'=>'val3', 'Чипсы') ;// напомним индексы key3 и 0
$arr[] = 'Банан'; // Попробуйте сказать какой индекс будет у элемента Банан ?

$arr = Array('key3' => 'val3', 'tasty' => 'Чипсы') ;
$arr[] = 'Банан'; // Попробуйте сказать какой индекс будет у элемента Банан теперь?

/* ОТВЕТ:
в первом случае максимальный целочисленный индекс 0. 0+1 =1
значит индекс банана будет 1.

Во втором случае максимального целочисленного индекса нет вообще
поэтому новый целочисленный индекс будет 0 .
*/

?>


Объекты ( Object )

Оглянитесь вокруг. Всё вокруг нас это объекты. Стул, бутылка, веревка, мыло, это всё объекты. У объектов есть свойства и функции.
Объект - Машины. Свойство - Цвет. Значение - белый.
Объект - Машины. Функция - бибикать. Действие - издаёт звук.

<?PHP

// Определяем что такое машины, что она умеет делать и как.
class car
{
    var $color = 'White';
    function tut_tut()    {  echo "BIp BIp";  }
}

$honda = new car; // присваиваем переменной honda объект - Машину
echo $honda->color; // Выводим свойство машины - цвет

?>


Ресурс ( Resource )

Ресурс представляет из себя указатель, ссылку, на внешний ресурс.
Представим автосервис с большим количеством машин, которым заливают несколько по литров масла в двигатель. Со свистом тормозов из подворотни вылетает феррари и паркуется на очередной сервисной парковке. Хозяин сервиса уже кричит рабочему, залить 5 литров масла и тычет большим пальцем в красную феррари.
Наш рабочий получает в данном случае два типа данных - число (литров масла) и указатель на машину, то-есть определение - какому именно объекту из всех вокруг нужно подлить чего-нибудь.

Подмечу, что рабочий получает от босса вовсе не саму машину, а лишь дескриптор (указатель) машины с которой предстоит работать. В php этим дескриптором является тип данных resource.

Null

Чтобы понять что такое Null нужно понять как хранит php переменные в памяти. Компьютерная память состоит из большого количества маленьких ячеек. В эти ячейки и записываются твои данные. Обращение к той или иной ячейке происходит при помощи идентификатора ячейки в памяти, её места.

На деле интерпретатор хранит связь между названием переменной и идентификатором ячейки в памяти. Мы же в свою очередь работаем с названием, вместо того чтобы самим запоминать идентификаторы ячеек, которые и без того, известны одному интерпретатору.

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

Значение Null сбрасывает привязку названия переменной к ячейке в памяти и переменной больше не соответствует никакая ячейка. Переменная просто никуда не указывает и ни к чему не ведет. В этом случае переменная считается неопределенной,
так как название есть а привязка к ячейке отсутствует.

Присвоение переменной значения null можно делать так: $a = Null;
Заметьте что слово null не взято в кавычки, потому что это не строка с текстом.

Булев тип ( Boolean )

Тип данных который включает в себя всего два значения
Правда и неправда. True и False. Используется в основном в условиях.
к примеру выражение ($a > $b) может быть правдой или не правдой.

Что это за странные типы данных которые я вижу в документации ?

mixed - обозначает что функция возвращает разные типы данных, в зависимости от обстоятельств
number - означает что возвращаемый результат представляет из себя integer или float
callback - в php функция вызывается как её название и скобочки. К примеру print().

Некоторые функции в php (к примеру call_user_func() ) принимают в качестве параметров названия функций с которыми они будут работать. в таком случае параметр формата callback которые они требуют представляют из себя строку с названием функции без скобочек. К примеру call_user_func('increment', $a);
Возможно данный аспект будет подробнее рассмотрен в разделе работы с функциями.

Шаманство над типами

Как мы уже выяснили, переменные бывают разных типов и иногда нам нужно
узнать какого типа переменная, поменять её тип чтоб сравнить с переменной другого типа
или сделать с ней что нибудь полезное.

Тип переменной по умолчанию выбирается автоматически при присваивании.
Так же автоматически приводятся типы переменных при операциях с ними, если это необходимо. Так же как мы ранее заметили, при делении 5 на 2,5 результатам будет
дробь, так как интерпретатор приводит обе переменных к одному типу и потом производит деление.

Узнать какой тип у переменной можно при помощи функции gettype();
Функция это кучка действий. Она принимает аргументы, делает с ними некие операции и возвращает результат. К примеру Приготовить пиццу это функция принимающая параметры - тесто, яйца, сыр, кетчуп, анчоусы, плиту, и возвращает Пиццу.
Возвращаемое значение у функций может быть любого типа данных.

У функции getttype() возвращаемый результат это строка содержащие название типа.
Если вы попробуете код echo gettype(512); то получите в ответ строку "Integer".

Можно узнать является ли тем или иным типом данных переменная при помощи
is_float(), is_int(), is_string(), is_object(), is_array().
Эти функции принимают один аргумент и возвращают булев тип (true или false).

Изменить тип переменной можно несколькими функциями

intval() - возвращает аргумент в виде целого числа integer
floatval() - возвращает аргумент в виде дробного числа float
strval() - возвращает аргумент в виде строки string
settype() - превращает первый аргумент в указанный во втором аргументе тип
settype($a,'integer') Превратит $a в целое число.
Заметьте что эта функция не возвращает нового значения, а изменяет переданный ей параметр.

Допустимыми значениями параметра type являются:

* "boolean"
* "integer" (или "int")
* "float"
* "string"
* "array"
* "object"
* "null"

Операции с переменными

Арифметические операторы


-$a     Отрицание Смена знака $a.
$a + $b Сложение Сумма $a и $b.
$a - $b Вычитание Разность $a и $b.
$a * $b Умножение Произведение $a и $b.
$a / $b Деление Частное от деления $a на $b.
$a % $b Деление по модулю Целочисленный остаток от деления $a на $b.


Операторы инкремента и декремента

++$a Префиксный инкремент Увеличивает $a на и возвращает значение $a.
$a++ Постфиксный инкремент Возвращает значение $a, а затем увеличивает $a на 1.
--$a Префиксный декремент Уменьшает $a на 1 и возвращает значение $a.
$a-- Постфиксный декремент Возвращает значение $a, а затем уменьшает $a на 1.


Таким образом $a = 5; echo $a++ ; Сначала выведет 5, а потом увеличит 5 на 1.

Логические операторы

$a and $b Логическое 'и' TRUE если и $a, и $b TRUE.
$a or $b  Логическое 'или' TRUE если или $a, или $b TRUE.
$a xor $b Исключающее 'или' TRUE если $a, или $b TRUE, но не оба.
! $a      Отрицание TRUE если $a не TRUE.
$a && $b  Логическое 'и' TRUE если и $a, и $b TRUE.
$a || $b  Логическое 'или' TRUE если или $a, или $b TRUE.


Строковые операторы

В PHP есть два оператора для работы со строками. Первый - оператор конкатенации ('.'), который возвращает объединение левого и правого аргумента в одну строку. Второй - оператор присвоения вместе с конкатенацией.

<?PHP

$a = "Hello ";
$b = $a . "World!"; // $b содержит строку "Hello World!"

$a = "Hello ";
$a .= "World!";     // $a содержит строку "Hello World!"

?>


Побитовые операторы

Побитовые операторы позволяют устанавливать конкретные биты в 0 или 1 для целочисленных значений. В случае если и левый, и правый операнды строки, побитовые операции будут работать с их ASCII-представлениями.

$a & $b Побитовое 'и' Устанавливаются только те биты, которые установлены и в $a, и в $b.
$a | $b Побитовое 'или' Устанавливаются те биты, которые установлены либо в $a, либо в $b.
$a ^ $b Исключающее'или' Устанавливаются только те биты, которые установлены либо только в $a, либо только в $b
~ $a Отрицание Устанавливаются те биты, которые в $a не установлены, и наоборот.
$a << $b Сдвиг влево Все биты переменной $a сдвигаются на $b позиций влево (каждая позиция подразумевает 'умножение на 2')
$a >> $b Сдвиг вправо Все биты переменной $a сдвигаются на $b позиций вправо (каждая позиция подразумевает 'деление на 2')


Операторы сравнения

$a == $b Равно TRUE если $a равно $b.
$a === $b Тождественно равно TRUE если $a равно $b и имеет тот же тип.
$a != $b Не равно TRUE если $a не равно $b.
$a <> $b Не равно TRUE если $a не равно $b.
$a !== $b Тождественно не равно TRUE если $a не равно $b или они разных типов
$a < $b Меньше TRUE если $a строго меньше $b.
$a > $b Больше TRUE если $a строго больше $b.
$a <= $b Меньше или равно TRUE если $a is меньше или равно $b.
$a >= $b Больше или равно TRUE если $a больше или равно $b.


Операторы работы с массивами

$a + $b Объединение Объединение массива $a и массива $b.
$a == $b Равно TRUE в случае, если $a и $b содержат одни и те же элементы.
$a === $b Тождественно равно TRUE в случае, если $a и $b содержат одни и те же элементы в том же самом порядке.
$a != $b Не равно TRUE если массив $a не равен массиву $b.
$a <> $b Не равно TRUE если массив $a не равен массиву $b.
$a !== $b Тождественно не равно TRUE если массив $a не равен тождественно массиву $b.
 Offline
 
Посетить сайт автора
Цитировать
Эти 1 пользователя(ей)
сказали вам cпасибо:
BAD-DIMAN (23.04.2011)
Наверх Распечатать сообщение #2
Опубликовано 23-04-2011 13:22
Аватар пользователя

Начинающий



Сообщений: 16
Вас поблагодарили: 0
раз(а) в 0 сообщениях

Зарегистрирован: 19.04.11
Со дня регистрации: 2432

Предупреждений: 0

Пожаловаться на это сообщение 
Иконка 
RE: Урок php - Самые основы.

Спасибо, познавательно, особенно если полный нуб.Smile
 Offline
 
Цитировать
Ответить
Здесь присутствуют: 1 (пользователей: 0, гостей: 1)

« Предыдущая тема | Следующая тема »
 RSS Перейти на форум:
Розыгрыши 728х90

Последние объявления
ФотоЗаголовокГородРазмещено
Группа «Илим» реализует неликвиды своих предприятий
• Хозяйство - Оборудование Цена: 1 1
Санкт-ПетербургВчера в 23:27:04
(на 1 месяц)
Филиал «КЧХК» АО «ОХК «УРАЛХИМ» в Кирово-Чепецке реализует неликвиды
• Хозяйство - Сырье и материалы Цена: 1 1
Киров13.12.2017
(на 1 месяц)
ПАО «Казаньоргсинтез» реализует неликвиды
• Хозяйство - Оборудование Цена: 1 1
Казань28.11.2017
(на 1 месяц)
ПАО «Северсталь» продает неликвиды
• Хозяйство - Оборудование Цена: 1 1
Другой28.11.2017
(на 1 месяц)
Универсальный гипермаркет Gecsa
• Развлечения - Туризм Цена: 1 1
Казань06.11.2017
(на 24 месяца)
Облако тегов тем форума
С помошью зеркала учёным удалось увидеть «лицо Бога», Линейный дизайн Катаклизма был ошибкой, признала Blizzard, Агент Депортамент, ID всех бафов и скиллов, Mortal Kombat - Challenge Tower, Если любить ее до безумства, она станет им., Превью ArcheAge, Сервер GIRAN.ME ( la-2.me ), Установка GMShop в игру AION, Быстрая доставка препаратов для борьбы с ВГС, Планшет Teclast Tbook 16 Power работает на Intel Atom x7, AION скрытые команды и настройки, 10-й выпуск Wargaming TV: новый рекорд по количеству игроков онлайн, Проверенный многими вид заработка в Интернете, Обзор компьютерной игры Pitfall Harry
Главная Статьи Файлы Форум Ссылки Новости Фотогалерея Объявления Видео Файлобменник Гороскоп Поиск в сети Радио Пробки
Яндекс.Метрика
Powered by PHP-Fusion copyright © 2002 - 2017 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.