if(arguments[i] === 0 ) return 0;
function multiply() {
let len = arguments.length;
if( 0 === len) return 0;
for (let i = 0, calc = 1; i < len; i++) {
if (arguments[i] === 0) return 0;
calc = calc * arguments[i];
}
return calc;
}
"Ширина":""
и строковыми функциями вытаскивать значение. $errors = array();
function test( &$arr) {
$arr[] = 'empty_test';
}
test( $errors);
print_r($errors); /*
Array
(
[0] => empty_test
)
*/
function A() { Foo(); }
function B() { Foo(); }
function Foo() {
$stack = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
if( count($stack) > 1) echo "Меня вызвали из " . $stack[1]['function'] . PHP_EOL;
}
A(); // попробуйте поменять на B();
// Меня вызвали из A
https://lardi-trans.com/dinamix/email/FF74qHmOsJhzdKNlhpAO.png
IvanSidorov@mail.ru
, а иногда IVANsidorov@Mail.Ru
SELECT 0x12 + 0x34;
-- 70
18446744073709551615
.SHOW WARNINGS;
var
всегда «сползает» наверх функции – это называется var hoisting («поднятие или всплытие переменных»). Объявление переменных (как и любые другие объявления) обрабатываются до выполнения кода. Где бы не находилось объявление, это равнозначно тому, что переменную объявили в самом начале кода.
for( /*...*/ ) {
var i = 3;
// ...
}
var i;
// ...
for( /*...*/ ) {
i = 3;
// ...
}
.forefront-element {
-webkit-transform: translateZ(999px) scale(.7);
transform: translateZ(999px) scale(.7);
z-index: 1;
}
.base-element {
-webkit-transform: translateZ(0);
transform: translateZ(0);
z-index: 4;
}
.background-element {
-webkit-transform: translateZ(-999px) scale(2);
transform: translateZ(-999px) scale(2);
z-index: 3;
}
var tmpl = "http://site.ru/%RANDOM%.jpg"
%RANDOM%
на очередное число.var All = [], i, N = 4, Selected = [], pos;
for( i = 1; i <= 100; i++) All.push(i);
// в массиве All теперь числа от 1 до 100
while( All.length > 0 && Selected.length < N) { // пока есть откуда брать и ещё не набрали N чисел
pos = Math.floor( All.length * Math.random()); // случайный индекс из оставшихся элементов
// Из массива All значение удаляется, он становится короче.
// Это гарантия неповторения одинакового числа.
Selected.push( All.splice( pos, 1));
}
// в массиве Selected теперь N случайных неповторяющихся чисел из диапазона от 1 до 100
var result = [];
while( Selected.length) { // пока в массиве есть выбранные числа
result.push( // в результат вставляем..
tmpl.replace( // ..копию строки tmpl, в которой заменили..
'%RANDOM%', // ..подстроку %RANDOM%
Selected.pop()) // ..на число, которое взяли из Selected.
// взятое число из Selected удалилось, массив стал короче.
);
}
/* результат, массив строк: [
"http://site.ru/45.jpg",
"http://site.ru/29.jpg",
"http://site.ru/46.jpg",
"http://site.ru/97.jpg"
] */
var re = new RegExp('(\\d+\.?\\d+%)', 'g');
"If 43 is after a 999.99% reduction, then it was"
.replace( re, '<mark>$1</mark>')
/*
If 43 is after a <mark>999.99%</mark> reduction, then it was
*/
$stock = [
["id"=>1, "ver"=>13, "name"=>"gta v"],
["id"=>2, "ver"=>48, "name"=>"gta sa"],
["id"=>3, "ver"=>119, "name"=>"chess"],
];
$total = 0;
foreach($stock as $v) $total += $v["ver"];
$rnd = rand(1, $total);
$run = 0;
foreach($stock as $v) {
$run += $v["ver"];
if( $rnd <= $run) break;
}
$prizeName = $v["name"];