php
Важно! Значение константы нельзя изменять после объявления Можно объявлять константами:
|
define("CONSTANT1", "Здравствуй, мир1."); //вариант 1 const CONSTANT2 = 'Здравствуй, мир2.'; //вариант 2 define("CONSTANT_ARRAY", [1,2,3]); if(defined('CONSTANT1') && defined('CONSTANT2')){ //определена ли константа CONSTANT1 И CONSTANT2 echo CONSTANT1." ".CONSTANT2; } |
константы "частично" можно менять
const constant1 = 1; //const constant1 = 2; //так нельзя //constant1 = 2; //так нельзя if(constant1 == 1){//a так можно const constant1 = 2; console.log(constant1); //здесь 2 } console.log(constant1); //здесь 1 const constant2 = [2,3,4]; //constant2 = [2,3,4,5]; //так нельзя constant2[0] = 1; //так можно constant2.push(8); //так можно console.log(constant2); const constant3 = { "a" : 2, "b" : 3, "c" : 4, }; constant3.b = 5; //так можно console.log(constant3); |
Переменные
Переменная - поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Значение переменной - данные, которые находятся в переменной. Переменная - это то, что изменяется по коду |
$a = 5; //переменная а, значение переменной 5 $a = "wer"; //переменная а, а значение переменной стало "wer" $a = [1,2,3,8]; |
let a; //var a; a = 5; //переменная а, значение переменной 5 a = "wer"; //переменная а, а значение переменной стало "wer" |
Предопределённые переменные php
первоисточник |
Суперглобальные переменные — Встроенные переменные, которые всегда доступны во всех областях
- $GLOBALS — Ссылки на все переменные глобальной области видимости
- $_SERVER — Информация о сервере и среде исполнения
- $_GET — Переменные HTTP GET
- $_POST — Переменные HTTP POST
- $_FILES — Переменные файлов, загруженных по HTTP
- $_REQUEST — Переменные HTTP-запроса
- $_SESSION — Переменные сессии
- $_ENV — Переменные окружения
- $_COOKIE — HTTP Cookies
- $php_errormsg — Предыдущее сообщение об ошибке
- $http_response_header — Заголовки ответов HTTP
- $argc — Количество аргументов, переданных скрипту
- $argv — Массив переданных скрипту аргументов
$a = 1; $b = 2; global $a1; $a1 = 10; echo "a+b=".$a+$b."<br>"; echo "(a+b)=".($a+$b)."<br>"; include("second.php"); //в файле тоже будут видны function Sum1(){ echo "sum1: a+b=".$a+$b."<br>"; //так a b не видны echo "sum1: a1=".$a1."<br>"; //а1 не видна } Sum1(); //0 function Sum2(){ global $a,$b, $c; //объявляем глобальными $c = 5; //эта будет видна за пределами функции $d = 6; $GLOBALS["e"] = 7; //так тоже можно объявить глобальной echo "sum2: a+b=".$a+$b."<br>"; //так видны } Sum2(); echo "c=".$c."<br>"; //5 echo "d=".$d."<br>";//пусто echo "e=".$e."<br>";//7 function Sum3(){ echo "sum3: a+b="; echo $GLOBALS["a"]+$GLOBALS["b"]."<br>"; } Sum3(); |
<? echo "second.php: "; echo "a+b=".$a+$b."<br>"; |
a+b=3
(a+b)=3
second.php: a+b=3
sum1: a+b=0
sum1: a1=
sum2: a+b=3
c=5
d=
e=7
sum3: a+b=3
Видимость переменных js
a = 1; // cтановится глобальной. если не выбран строгий режим "use strict". Если выбран, то ошибка let la=2; //если внутри блока, то область видимости переменной ограничивается этим блоком. var va=3; //область видимости вся функция, в которой они были объявлены console.log("la+va="+la+va,"(la+va)="+(la+va));//23 - как строки сложатся, 5 - как числа сложатся if(a == 1){ b = 4; //будет видно за пределами if (если не "use strict") var vb = 4; //будет видно за пределами if let lb = 4; //НЕ будет видно за пределами if } console.log("b="+b,"vb="+vb); //console.log("lb="+lb); //ошибка, lb не определено function Func1(){ c = 5; //cтановится глобальной. если не выбран строгий режим ("use strict";). Если выбран, то ошибка let lc = 5; //за пределами функции не видно var vc = 5; //за пределами функции не видно console.log("Func1: a="+a, "la="+la, "va="+va, "c="+c, " lc="+lc, "vc="+vc); a++; la++; va++; c++; lc++; vc++; console.log("Func1 after ++: a="+a, "la="+la, "va="+va, "c="+c, " lc="+lc, "vc="+vc); } Func1(); console.log("after Func1: a="+a, "la="+la, "va="+va, "c="+c); //console.log("after Func1: lc="+lc); //undef //console.log("after Func1: vc="+vc); //undef function Func2(){ let a =100; let la=200; var va=300; var c = 400; } Func2(); console.log("after Func2 a ="+a,"la="+la,"va ="+va, "c="+c); //не изменились |