Основы PHP.

  • Автор темы AnalblazeR
  • Дата начала
A

AnalblazeR

Original poster
  • Вступление.

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

?>

  • Массив ( Array )

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

Код:
<?PHP

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

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


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

?>

В следующем уроке мы рассмотрим виды массивов, объекты, ресурсы, операции над переменными и еще парочку плюшек.
 
A

AnalblazeR

Original poster
Привет, читатель сей никому ненужной темы. Сегодня мы рассмотрим виды массивов, да, тех, которые холодильники под названием "Array".
  • Ассоциативные массивы

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

PHP:
<?PHP

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

?>


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

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

PHP:
<?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:
<?PHP

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

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

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

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

?>

В следующей теме поговорим об объектах и прочих тайных уголках кривого языка под названием "PHP".
 
  • Like
Реакции: Живой_мертвый
Название темы
Автор Заголовок Раздел Ответы Дата
H Основы Linux для начинающего "Хакера" - Использование скриптов запуска Корзина 0
H Основы Linux для начинающего "Хакера" - Сети Корзина 0
Denik Интересно Основы Nginx: высокопроизводительные серверы с нуля [2части] Полезные статьи 0
N Основы Вопросы и интересы 1
B Изучаем основы Java за 2 дня Основы ООП на Java. Экстремальное погружение Полезные статьи 0
B Основы языка Python (2019) Полезные статьи 0
T Основы безопасности и анонимности в сети Полезные статьи 1
V Основы построения доменной сети Полезные статьи 0
K Специалист Основы Linux 2016 Другое 0
K Уроки по XSS: Урок 1. Основы XSS и поиск уязвимых к XSS сайтов Уязвимости и взлом 0
G [Обучение] ОСНОВЫ БЕЗОПАСНОСТИ И АНОНИМНОСТИ В СЕТИ Полезные статьи 0
U Основы работы с SSH или первый опыт подключение к носкам и туннелям Полезные статьи 8
S Основы информационной безопасности. Виды угроз. Анонимность и приватность 0
S IOS и Android, основы безопасного доступа в Tor и анонимной переписки Настройка системы для работы 4
K Анонимный Эл. Кошелек . Основы . Регистрация . Работа. Обменники Полезные статьи 3
R Освоить основы фронтенда за 12 часов: большая видеоподборка Другие ЯП 1
D Основы успешного вбива. Вбив с приложения. Полезные статьи 1
O Основы Linux Другое 0
Admin Dos и DDos для новичков. Основы Spam/DDOS/Malware 3
Admin Основы антибана инстаграмм аккаунтов Полезные статьи 6
Support81 Gh0st RAT, RedTail, XMRig: какие ещё угрозы могут проникнуть на ваш компьютер из-за уязвимости в PHP Новости в сети 0
Support81 CVE-2024-4577 в PHP: вымогательское ПО TellYouThePass захватывает серверы по всему миру Новости в сети 0
Elliot_service Закрыто Пишу web-проекты | Копии сайтов | Поднимаю сервера | Маркетплейсы | ТГ Боты | Скрипты | Крипта | python, php, js, MySql, html/css Корзина 1
swimmingPerl На проверке Услуги web разработчика. 2 года опыта. PHP, JavaScript. Все популярные фреймворки Ищу работу. Предлагаю свои услуги. 1
Mr Crabs Закрыто Telegram Первонах - скрипт на PHP Корзина 1
C IonCube PHP Encoder 10.2 [Защита кода PHP][Cracked by Coder-V 2022] Продажа софта 3
S Продам Магазин Доступов (PHP Mailers) - Основной товар - (Leaf PHPMailers) Все что не подошло по разделу 11
U Интересно PHP - Пишем свой фишинг скрипт для кражи тт аккаунтов {Уровень: EASY} Другие ЯП 10
A Требуются программисты Python, PHP, C++ Продажа софта 2
H Новый Linux-модуль платформы TrickBot тайно атакует Windows-ПК Подробнее: https://www.securitylab.ru/news/510661.php Корзина 0
G Команда разработчиков - php, python, веб дизайн, программирование Ищу работу. Предлагаю свои услуги. 0
GhosTM@n Интересно php rat Вирусология 2
E Интересно Парсер картинок на php Другие ЯП 0
starowar Разработка сайтов / ботов / ваших проектов по ТЗ на php, js, mysql Продажа софта 1
B PHP Уровень 2 Профессиональная веб-разработка Полезные статьи 0
B BlackNET v1.0.0 Advanced MultiOS BotNET + Secure PHP Panel + Tutorial Spam/DDOS/Malware 0
BuriTTo Помощь в PHP\JS\HTML, API VK\ Telegram бесплатно. Ищу работу. Предлагаю свои услуги. 0
I CC card-checker (PHP source) Другие ЯП 0
Ж Курсач по PHP и WordPress Другие ЯП 3
S Курсы по c++ , c# , php , python , css , html и т.д. С/C++ 4
T Инструкция по установке веб-сервера Apache c PHP, MariaDB и phpMyAdmin в Windows. Полезные статьи 0
K PHP/SQL: back-end разработка и базы данных Другое 0
K [PHP] Полный курс от "Школы программирования" Другое 0
K php 2015 [Специалист] 1-3 Курс Другое 0
V Рекурсивный слив шаблона любого сайта полностью (Без php и прочих скриптов, которые нельзя скачать) Полезные статьи 0
S [PHP] Telegram Bot Другие ЯП 3
G Краткое знакомство с алгоритмами. Серверный шифровальщик на PHP. Mcrypt и SHA256. Полезные статьи 0
M [PHP] Скрипт фейк МФО Другие ЯП 1
G Вставка бэкдора на PHP вебсайтах с Weevely Уязвимости и взлом 0
O Курс php Вопросы и интересы 1

Название темы