$if = (0.5 < 0.6); //true
if ($if) {
echo 'YES';
} else {
echo 'NO';
}
Предостережение
Языковая конструкция eval() может быть очень опасной, поскольку позволяет выполнить произвольный код. Использование данной функции не рекомендуется. Если вы полностью убеждены, что нет другого способа, кроме использования этой конструкции, обратите особое внимание на то, чтобы не передавать какие-либо данные, предоставленые пользователем, без предварительной проверки.
<?php
$if = eval('return 0.5 < 0.6;');
var_dump($if); //true
eval('$if = 0.5 < 0.6;');
var_dump($if); //true
collision(enemy[i].x,enemy[i].y,player[j].x,player[j].y,32,32,32,32,player.splice(j,1),enemy.splice(i,1));
В функцию передаётся не действие, которое надо выполнить в случае — а его результат. Вот этиplayer.splice(j,1)
enemy.splice(i,1)
выполняются сразу, при первом же обращении — и не останется ни игроков ни врагов. Ядерная зима.collision()
, чтобы там её вызвали только после проверки условий.x, y, w, h
. Так можно передавать сами объекты целиком:function collision(A, B, onCollision) {
if (
A.x + A.w >= B.x
&& A.x <= B.x + B.w
&& A.y + A.h >= B.y
&& A.y <= B.y + B.h
) {
onCollision(); // <-- только тут выполнятся действия
}
}
// ...
player.push({x: 0, y: 0, w: 32, h: 32});
enemy.push({x: 144, y: 104, w: 32, h: 32});
// ...
collision(
enemy[i],
player[j],
function() {
player.splice(j,1);
enemy.splice(i,1);
}
);
var canvas = document.getElementById("canvas"),
ctx = canvas.getContext("2d");
canvas.width = canvas.height = 300;
var x = 150,
y = 150,
velY = 0,
velX = 0,
speed = 2,
friction = 0.98,
keys = [];
function update() {
requestAnimationFrame(update);
if (keys[38]) {
if (velY > -speed) {
velY--;
}
}
if (keys[40]) {
if (velY < speed) {
velY++;
}
}
if (keys[39]) {
if (velX < speed) {
velX++;
}
}
if (keys[37]) {
if (velX > -speed) {
velX--;
}
}
velY *= friction;
y += velY;
velX *= friction;
x += velX;
if (x >= 295) {
x = 295;
} else if (x <= 5) {
x = 5;
}
if (y > 295) {
y = 295;
} else if (y <= 5) {
y = 5;
}
ctx.clearRect(0, 0, 300, 300);
ctx.beginPath();
ctx.arc(x, y, 5, 0, Math.PI * 2);
ctx.fill();
}
update();
document.body.addEventListener("keydown", function (e) {
keys[e.keyCode] = true;
});
document.body.addEventListener("keyup", function (e) {
keys[e.keyCode] = false;
});
//например
var timerInSlider1, timerInSlider2, timerInSlider3, timerInSlider4;
//Минимальные изменения вашего кода
var timerInSlider = [1,2,3,4]; //массив для четырёх таймеров
$.scrollify({
section: ".section",
scrollbars: true,
interstitialSection: ".non-full-height",
overflowScroll: true,
before: function(indexBigSlider, sections){
if(indexBigSlider == 2) timerInSlider.forEach((e,i) => { //цикл
timerInSlider[i] = setTimeout(function(){
$(".fullwidth-slider").trigger('owl.next');
console.log((i+1)+" итерация");
}, 12000 * (i+1)); //время зависит от номера таймера
//остальной код убрали
});
},
after: function(indexBigSlider, sections){
if(indexBigSlider == 3){
console.log("След слайдер");
//также в цикле убираем
timerInSlider.forEach(e=>clearTimeout(e));
}
}
});
class Worker extends User // <- Не стоит забывать о PSR
{
public function __construct(array $data)
{
if (empty($data)) {
header(....);
exit;
}
// В конструкторе нет ретурна, так что это ошибка
}
}
$worker = new Worker($_COOKIE);
$worker = new Worker($_SESSION);
const input = document.querySelector('input');
const num = 100;
input.addEventListener('change', function() {
this.value = (this.value / num | 0) * num;
});
<button data-step="-1">-</button>
<button data-step="+1">+</button>
document.querySelectorAll('[data-step]').forEach(function(n) {
n.addEventListener('click', this);
}, e => input.value = +input.value + e.target.dataset.step * num);