09 Декабря 2023 04:52 
Заработай шерингом
Навигация
 +  - 
Скачать игры
Сейчас на сайте
08.12.2023
silok
17:29:54
offline
06.12.2023
Ferry
2 дней
offline
01.12.2023
Evgen
1 неделя
offline
25.11.2023
sssssss3e
1 неделя
offline
25.11.2023
mikolkin
2 недель
offline
Последние фото
Game of Blocks : WesterosCraft and Game of Thrones
Game of Blocks : Wes...
Альбом: Скриншоты

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



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

Последние видео
Видео LIVE 24/7 Rolling Cam Venice : The most beautiful Live Cam in Venice Italy - Livecam en direct

Онлайн камеры:  LIVE 24/7 Rolling Cam Venice

Видео Rolling Cam World : Rolling Cam World - Live Webcam around the World

Онлайн камеры:  Rolling Cam World

Видео EarthCam Live: Times Square in 4K : Watch live streaming video in 4K of Times Square, New York City.

Онлайн камеры:  EarthCam Live: Times Square in 4K

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

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



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

Зарегистрирован: 24.03.10
Со дня регистрации: 5008
Откуда: Россия

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


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

Переменные выполняют работу - хранение данных в оперативной памяти, а за хорошую работу надо платить. Именно поэтому переменная представлена в виде знака доллара и названия переменной. К примеру: $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
Со дня регистрации: 4617

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

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

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

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

Последние объявления
ФотоЗаголовокГородРазмещено
ООО ПКФ «ТЕХНО СТАЛЬ» закупает КАНАТЫ СТАЛЬНЫЕ с хранения
• Хозяйство - Сырье и материалы Цена: 1 1
Челябинск07.12.2023
(на 1 месяц)
ПАО «ТГК-2» реализует невостребованные складские остатки
• Хозяйство - Оборудование Цена: 1 1
Ярославль13.11.2023
(на 1 месяц)
ПАО «Форвард Энерго» реализует неликвиды в ассортименте
• Электроника - Эл. инструмент Цена: 1 1
Москва08.11.2023
(на 1 месяц)
Облако тегов тем форума
E3 2011: Анонс MMOFPS Blacklight Retribution, В игре остались монстры с завышенными повреждениями, 24 декабря! ТЕАТР ТЕНЕЙ, ОЛЕГ МИШИН и группа ОМ (Проект музыканта гр. CATHARSIS), WH40DM - основные тезисы, Словарь сокращений и терминов LoL, Баг с трейдом РуОфф, Катализаторы роста биткоина. Когда ждать «to the moon»?, 25 tо Life, Телеграм каналы, Добыча кристаллов атрибута, Diablo III выйдет на PlayStation 3 и PlayStation 4, Питьевая вода, NVIDIA официально представила карты GeForce GTX 560 Ti 448 Cores, Сбербанк в 2021 году планирует выпустить собственный стейблкоин Sbercoin, Квест на профессию Spectral Master для Phantom Summoner
Главная Статьи Файлы Форум Ссылки Новости Фотогалерея Объявления Видео Файлобменник Гороскоп Торренты Радио Видеочат
Powered by PHP-Fusion copyright © 2002 - 2023 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.