Генератор паролей

Основные операторы - php, javascript

Арифметические операторы
php, js
js (из примера убрать $)
ПримерНазваниеРезультат
-$aОтрицаниеСмена знака $a
$a + $bСложениеСумма $a и $b
$a - $bВычитаниеРазность $a и $b
$a * $bУмножениеПроизведение $a и $b
$a / $bДелениеЧастное от деления $a на $b
$a % $bДеление по модулюЦелочисленный остаток от деления $a на $b
выполнить арифметическое действие и сразу присвоить
ПримерЭквивалентОперация
$a += $b$a = $a + $bСложение
$a -= $b$a = $a - $bВычитание
$a *= $b$a = $a * $bУмножение
$a /= $b$a = $a / $bДеление
$a %= $b$a = $a % $bМодуль
$a **= $b$a = $a ** $bВозведение в степень

Логические операторы
популярные
php, js
js (из примера убрать $)
!$aОтрицаниеTRUE - если $a не TRUE.
$a && $bЛогическое 'и'TRUE - если и $a, и $b TRUE.
$a || $bЛогическое 'или'TRUE - если или $a, или $b TRUE.
непопулярные php
$a and $bЛогическое 'и'TRUE - если и $a, и $b TRUE.
$a or $bЛогическое 'или'TRUE - если или $a, или $b TRUE.
$a xor $bИсключающее 'или'TRUE - если $a, или $b TRUE, но не оба

php
$a = 10;
$b = 5;
echo '$a='.$a,' $b='.$b."<br>";
echo '-$a = '.(-$a)." - Отрицание<br>";
echo '$a + $b = '.($a + $b)." -  Сложение<br>";
echo '$a - $b = '.($a - $b)." -  Вычитание<br>";
echo '$a * $b = '.($a * $b)." -  Умножение<br>";
echo '$a / $b = '.($a / $b)." -  Деление<br>";
echo '$a % $b = '.($a % $b )." - Деление по модулю - Целочисленный остаток от деления $a на $b<br>";


$a = true;
$b = false;

if(!$a){
   //НЕ выполнится
   echo '!$a<br>';
}
elseif(!$b){
   //выполнится
   echo '!$b<br>';
}

if($a && $b){
   //не выполнится
   echo '$a && $b<br>';
}
elseif($a && !$b){
   //выполнится
   echo '$a && !$b<br>';
}


if($a || $b){
   //выполнится
   echo '$a || $b<br>';
}
js
var a = 10;
var b = 5;
console.log('a=',a,' $b=',b);
console.log('-a = ',(-a)," - Отрицание");
console.log('a + b = ',(a + b)," -  Сложение");
console.log('a - b = ',(a - b)," -  Вычитание");
console.log('a * b = ',(a * b)," -  Умножение");
console.log('a / b = ',(a / b)," -  Деление");
console.log('a % b = ',(a % b )," - Деление по модулю - Целочисленный остаток от деления a на b");


a = true;
b = false;

if(!a){
   //НЕ выполнится
   console.log('!a');
}
else if(!b){
   //выполнится
  console.log('!b');
}

if(a && b){
   //не выполнится
  console.log('a && b');
}
else if(a && !b){
   //выполнится
  console.log('a && !b');
}


if(a || b){
   //выполнится
   console.log('a || b');
}


Операторы сравнения
ПримерНазваниеРезультат
$a == $bРавноTRUE если $a равно $b.
$a === $bТождественно равноTRUE если $a равно $b и имеет тот же тип. (Добавлено в PHP 4)
$a != $bНе равноTRUE если $a не равно $b.
$a <> $bНе равноTRUE если $a не равно $b.
$a !== $bТождественно не равноTRUE если $a не равно $b или в случае, если они разных типов (Добавлено в PHP 4)
$a < $bМеньшеTRUE если $a строго меньше $b.
$a > $bБольшеTRUE если $a строго больше $b.
$a <= $bМеньше или равноTRUE если $a is меньше или равно $b.
$a >= $bБольше или равноTRUE если $a больше или равно $b.

Операторы инкремента и декремента
php, js
js (из примера убрать $)
ПримерНазваниеДействие
++$aПрефиксный инкрементУвеличивает $a на единицу и возвращает значение $a.
$a++Постфиксный инкрементВозвращает значение $a, а затем увеличивает $a на единицу.
--$aПрефиксный декрементУменьшает $a на единицу и возвращает значение $a.
$a--Постфиксный декрементВозвращает значение $a, а затем уменьшает $a на единицу.

php
$a = 10;
$b = $a++;
echo '$b = $a++; => $a='.$a.', $b='.$b."<br>";
//$b = $a++; => $a=11, $b=10

$a = 10;
$b = ++$a;
echo '$b = ++$a; => $a='.$a.', $b='.$b."<br>";
//$b = ++$a; => $a=11, $b=11

$a = 10;
$b = $a--;
echo '$b = $a--; => $a='.$a.', $b='.$b."<br>";
//$b = $a--; => $a=9, $b=10

$a = 10;
$b = --$a;
echo '$b = --$a; => $a='.$a.', $b='.$b."<br>";
//$b = --$a; => $a=9, $b=9
js
var a = 10;
var b = a++;
console.log('b = a++; => a=',a,', b=',b);

a = 10;
b = ++a;
console.log('b = ++a; => a=',a,', b=',b);

a = 10;
b = a--;
console.log('b = $a--; => a=',a,', b=',b);

a = 10;
b = --a;
console.log('b = --a; => a=',a,', b=',b);

Тернарный оператор
php
$max = (b > a) ? b : a;
js
max = (b > a) ? b : a;
Если b>a, то max присвоится b, иначе max присвоится a

ПримерЭквивалентОперация
$a .= $b$a = $a . $bКонкатенация строк
$a ??= $b$a = $a ?? $bОбъединение с Null
<?
$s = "какой-то текст";
$s = $s . " и к нему еще текст2";
$s .= ", и еще добавим текст3";
$s = "начальный ".$s;


/*
$s = $s + "а так не работает";
$s =. "и так не работает";
*/
 
?>

$s равно:<br>
<?=$s?>
<?// начальный какой-то текст и к нему еще текст2, и еще добавим текст3


Приоритеты выполнения операторов
ПриоритетОператорПорядок выполнения
13(постфикс)++ (постфикс)--слева направо
12++(префикс) --(префикс)справа налево
11* / %слева направо
10+ -слева направо
9<< >>слева направо
8< <= > >=слева направо
7== !=слева направо
6&слева направо
5^слева направо
4|слева направо
3&&слева направо
2||слева направо
1= += -= *= /= %= >>= <<== &= ^= |=справа налево

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