😎 » PHP - FAQ » Переменные и константы PHP
533 0  

Переменные и константы PHP

Переменная в PHP - это ячейка памяти в которую можно поместить любую информацию!

Правила для PHP переменных:

- Имя переменной должно начинаться с буквы или с нижнего подчеркивания

- Имя переменной не может начинаться с числа

- Имя переменной может содержать только буквенно-цифровые символы и нижние подчеркивания (A-z, 0-9, и _ )

- Имена переменных чувствительны к регистру ($name и $NAME это две разные переменные)


Переменная обьвляеться через доллар.

$nazvanie = 5;

:fellow: Вы только что в памяти сервера сделали ячейку "nazvanie" и туда поместили -  5.


Можно создать переменную которую нельзя изменять (это константа)!

define("nazvanie" , "5");
//або, якщо версія вище 5.4
const NAZVANIE = '5';

У переменных есть своя область действия:

  • Глобальные видно за пределами функций, и не видно в самих функциях.
  • Локальные видно только в самой функции.

Пример:

$nazvanie = 5;

function (){
$nazvanie = 6;
// Здесь видно цифру - 6, а 5 не видно!
}
// а Здесь видно цифру - 5, а 6 не видно!

Переменная переменной:am:

$nazvanie = 'old';

$old = 567;

echo $$nazvanie;

// $$nazvanie = 567 
// - тоисть эта переменная взяла свое название из значения переменной $nazvanie.

Здесь подробно - смотреть

:love: переменные переменных не могут использоваться с суперглобальными массивами PHP. !!!


В самом языке PHP уже предопределенны некоторые переменные.

Список предопред. переменных на официальном сайте - смотреть

---

Список предопределенных переменных:

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

Суперглобальными переменными в PHP являются $_SERVER, $GLOBALS, $_REQUEST, $_POST, $_GET, $_FILES, $_ENV, $_COOKIE, $_SESSION.

$_SERVER

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

$_SERVER['SCRIPT_NAME'] возвращает путь текущего скрипта:

<?php
    echo $_SERVER['SCRIPT_NAME'];
?>

Этот метод может быть полезен, когда у вас много изображений на одном сервере и вам необходимо их перенести на другой host. Вместо замены пути каждого изображения, вы можете сделать следующее:

Создайте файл config.php, который содержит путь к вашим изображениям:

<?php
$host = $_SERVER['HTTP_HOST'];
$image_path = $host.'/images/';

?>

Используйте файл config.php в ваших скриптах:

<?php
require 'config.php';
echo '<img src="'.$image_path.'header.png" />';
?>

Как определить тип переменной?

PHP содержит несколько функций, позволяющих определить тип переменной,

таких как:

  • gettype() - Возвращает тип переменной.
  • is_array() -  Определяет, является ли переменная массивом (Возвращает true, если переменная value является массивом (array), или false в противном случае.)
  • is_float() - Проверяет, является ли переменная числом с плавающей точкой (Возвращает true, если value является переменной типа float, false в противном случае.)
  • is_int() - Проверяет, является ли переменная целым числом (Возвращает true, если value является целым числом (int), или false в противном случае.)
  • is_object() - Проверяет, является ли переменная объектом (Возвращает true, если value является объектом, или false в противном случае.)
  • is_string()  - Проверяет, является ли переменная строкой (Возвращает true, если value является строкой, и false в противном случае.)


Локальні, глобальні та статичні змінні:


<?php
 $sum=0; // Глобальна змінна

function m_func() {    
  $sum=0; // Локальна змінна
  static $sum=0;  // Статична змінна
}
?>

Слід зазначити, що значення глобальних змінних після їх ініціалізації залишаються незмінними доти, доки вони не будуть змінені або самі змінні не будуть видалені. Що стосується локальних змінних, то при кожному виклику функції вони ініціалізуються заново, а при виході з функції автоматично знищуються.

Якщо потрібно отримати доступ до глобальної змінної з локальної області видимості (зсередини тіла функції), слід використовувати ключове слово global, яке вказуватиме інтерпретатору, що слід використовувати саме глобальну версію змінної (див. приклад №8). Змінні вказуються після ключового слова через пробіл і розділяються комами. При цьому немає обмежень на кількість використовуваних функцією глобальних змінних.

<?php
 $sum_1='10';    
 $sum_2='22';    
function m_func(){  
  global $sum_1, $sum_2;  //Вказуємо що будемо використовувати глобальні змінні
  $sum_1=15;   //    Перевизначаємо змінну
 echo $sum_1;
}   
m_func();             
//Виведе 15
?>


Як знищити змінну?

unset($a); // Знищуємо 1 змінну
unset($a,$b,$c);  // Знищуємо 3 змінні

Константи бувають двух типів:

Константи, як і змінні зберігають певне значення, лише на відміну змінних значення констант може бути лише один раз, і далі ми можемо його змінити. Константи зазвичай визначаються для зберігання значень, які мають залишатися незмінними протягом усієї роботи скрипту. У назві константи знак долара $ (на відміну змінних) не використовується. :no: константи не можна використовувати усередині рядків.

1. Оператор const
Застосовується, в більшості, як константа классу і в таку константу можна передати тільки якесь статичне значення або математичний вираз.

Оголосити "const" можна лише у коді найвищого рівня, т.к. у разі константи створюються ще стадії компіляції сценарію. Це означає, що не можна оголошувати "const" усередині функцій, циклів, умовних виразів або блоків try/catch

<?php
const PI = 3.14;
echo PI;
?>

2. Константи, що визначаються за допомогою функції define(), створюються після компіляції скрипта (тобто після переведення php-коду в машинний код) вже на стадії його виконання, і тому можуть бути визначені в будь-якій області видимості

define('a', 23); 




Залишити свій коментар:

Досвід у веброзробці:

2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2009
2023