PHP Online Compiler
Write, Run & Share PHP code online using OneCompiler’s PHP online compiler for free. It’s one of the robust, feature-rich online compilers for PHP language, running on the latest version 7. Getting started with the OneCompiler’s PHP compiler is simple and pretty fast. The editor shows sample boilerplate code when you choose language as PHP
and start coding.
Taking inputs (stdin)
OneCompiler’s PHP online editor supports stdin and users can give inputs to programs using the STDIN textbox under the I/O tab. Following is a sample PHP program which takes name as input and prints hello message with your name.
<?php
fscanf(STDIN, "%sn", $name);
echo "Hello ".$name.".n";
?>
About PHP
PHP(Hypertext Preprocessor) is widely used server sripting language by Rasmus Lerdorf in the year 1994.
Key features
- Free
- powerful tool for making dynamic and interactive web pages
- can integrate with almost all popular databases like MySQL, PostgreSQL, Oracle, Sybase, Informix, Microsoft SQL Server etc.
- C like Syntax and easy to learn.
- Object oriented scripting language.
- easily embeddable into HTML
- Loosely typed language.
Syntax help
Variables
In PHP, there is no need to explicitly declare variables to reserve memory space. When you assign a value to a variable, declaration happens automatically. Variables are case-sensitive in PHP.
$variable_name = value;
Loops
1. IF Family:
If, If-else, Nested-Ifs are used when you want to perform a certain set of operations based on conditional expressions.
If
if(conditional-expression){
//code
}
If-else
if(conditional-expression){
//code if condition is true
} else {
//code if condition is false
}
Nested-If-else
if(condition-expression1) {
//code if above condition is true
} elseif(condition-expression2){
//code if above condition is true
}
elseif(condition-expression3) {
//code if above condition is true
}
...
else {
//code if all the conditions are false
}
2. Switch:
Switch is used to execute one set of statement from multiple conditions.
switch(conditional-expression) {
case value1:
// code if the above value is matched
break; // optional
case value2:
// code if the above value is matched
break; // optional
...
default:
// code to be executed when all the above cases are not matched;
}
3. For:
For loop is used to iterate a set of statements based on a condition.
for(Initialization; Condition; Increment/decrement){
// code
}
For-each:
// you can use any of the below syntax
foreach ($array as $element-value) {
//code
}
foreach ($array as $key => $element-value) {
//code
}
4. While:
While is also used to iterate a set of statements based on a condition. Usually while is preferred when number of iterations are not known in advance.
while(condition) {
// code
}
5. Do-While:
Do-while is also used to iterate a set of statements based on a condition. It is mostly used when you need to execute the statements atleast once.
do {
// code
} while (condition);
Functions
Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity.
How to define a Function
function function_name(parameters) {
//code
}
How to call a Function
function_name (parameters)
За последние 24 часа нас посетили 11595 программистов и 1179 роботов. Сейчас ищут 212 программистов …
-
- С нами с:
- 22 окт 2019
- Сообщения:
- 3
- Симпатии:
- 0
Всем доброго времени суток! Попросила техподдержку на хостинге подключить модуль Ev, подключили.Закинула скрипт, создающий простой таймер (код брала прямо из пхп-мануала), но он выдал ошибку синтаксиса. Читала, что так бывает, если модуль не подключен. Но он у меня есть. При просмотре через пхпинфо пишет, что поддержка ev включена, но отключена поддержка отладки. Влияет ли это на работу скрипта? Если да, то как включить эту поддержку? Ещё у меня стоит 7 пхп, может, это тоже влияет на то, как следует обращаться к классам модуля ev? Или надо Ev теперь каким-то образом подключать непосредственно в самом скрипте?
-
Вот бы еще знать что такое «модуль ev»))) дали бы ссылку хоть — любопытно же)))
-
- С нами с:
- 3 янв 2012
- Сообщения:
- 3.167
- Симпатии:
- 65
@Roman __construct вероятно если чуток подумать и почитать название темы то сможешь догадаться хотя…
Подсказка это между но и не)))
— Добавлено —Покажите ошибку
— Добавлено —
@blind_sun а еще покажите кусок кода где используете раз синтаксическая ошибка -
- С нами с:
- 22 окт 2019
- Сообщения:
- 3
- Симпатии:
- 0
Извиняюсь, мой скрин-ридер виснет в редакторе, пока не могу ответить с сыылкой на конкретного юзера.
Parse error: syntax error, unexpecte
d ‘»2 секунды прошл’ (T_CONSTANT_ENCAPSED_STRING)
на строчке 4.-
$w1 = new EvTimer(2, 0, function ()
-
Valick
Активный пользователь- С нами с:
- 12 авг 2018
- Сообщения:
- 1.911
- Симпатии:
- 328
@blind_sunкод, это копипаст с офсайта? попробуйте написать его полностью руками, без копипаста
-
- С нами с:
- 22 окт 2019
- Сообщения:
- 3
- Симпатии:
- 0
Это не совсем копипаст, я удаляла комментарии и прочее. Ругается всегда на содержимое внутри фигурных скобок.
Перерыла весь форум и поняла, что таймеры на пхп — очень неприятная вещь. JS мне вряд ли подойдёт, придётся химичить на пхп с метками времени Очень хотелось сделать именно динамичный таймер, который ведёт обратный отсчёт, по истечении времени обновлял страницу и выводил необходимую информацию. Но везде ссылаются на всё тот же js.
Пока неясно, в чём проблема работы EVTimer. Если удасться решить проблему, напишу сюда, в чём была причина. -
Valick
Активный пользователь- С нами с:
- 12 авг 2018
- Сообщения:
- 1.911
- Симпатии:
- 328
@blind_sun, скорее всего вы пытаетесь удалить гланды через жопу (звучит может и резко, но как нельзя лучше отображает ситуацию).
На лицо очередная «проблема молотка». Опишите более подробно ситуацию при которой вам понадобилась необходимость использовать таймеры. -
Разумеется, это нужно делать на js
Ну или если на PHP, то понадобится Ajax — но смысла в этом будет 0.00
Впрочем, если уж хотите извратиться по полной:
https://laravel.demiart.ru/client-side-php/
сам не пробовал, но любопытное, да))
Потом расскажете чего и как )))))
(PECL ev >= 0.2.0)
Введение
Наблюдатели EvTimer — это обычные относительные
таймеры, которые создают событие через заданное время и, опционально,
периодически повторяют его через заданные интервалы времени.
Таймеры базируются на реальном времени, то есть если задать таймер с
повторами раз в час и сбросить системные часы на
Январь прошлого года, то таймер будет все также
срабатывать через (грубо) час. «Грубо» потому, что отследить
скачки времени достаточно сложно и некоторые неточности неизбежны.
Callback-функция гарантированно запустится только после того, как
пройдёт превышение заданного времени ожидания (не ровно в тот же момент, т.к. на системах
с часами с низким разрешением могут наблюдаться небольшие задержки).
Если несколько таймеров будут готовы сработать в одну и ту же
итерацию событийного цикла, то callback-функции наблюдателей
будут запущены в порядке времени срабатывания и с учётом
приоритета (но это не работает, если callback-функции вызывают
EvLoop::run() рекурсивно).
Сами по себе таймеры стараются всеми силами избежать накапливания ошибки,
то есть если таймер сконфигурирован срабатывать каждые
10
секунд, то обычно он срабатывает точно
с 10
секундным интервалом. Однако, если
скрипт не поспевает за таймером, поскольку его работа занимает более
10
секунд, то таймер сработает не чаще чем один раз
за итерацию событийного цикла.
Обзор классов
public
__construct(
float
$after
,
float
$repeat
,
callable
$callback
,
mixed
$data
= null
,
int
$priority
= 0
)
final
public
static
createStopped(
float
$after
,
float
$repeat
,
callable
$callback
,
mixed
$data
= null
,
int
$priority
= 0
): EvTimer
public
set(
float
$after
,
float
$repeat
): void
}
Свойства
- repeat
-
Если равно
0.0
, то таймер автоматически остановится,
когда будет превышено время ожидания. Если больше нуля, то таймер автоматически
перейдёт в режим бесконечного повторения через заданные интервалы, пока вы
его самостоятельно не остановите. - remaining
-
Возвращает время, оставшееся до срабатывания таймера. Если таймер
активен, то данное время будет считаться относительно времени текущего
событийного цикла, а если таймер не активен, то оно будет равно
сконфигурированному значению времени ожидания.То есть, после того, как создан экземпляр
EvTimer сafter
равным
5.0
иrepeat
равным7.0
, remaining
вернёт5.0
. Когда таймер запустится и пройдёт 1 секунда,
remaining вернёт4.0
.
когда таймер истечёт и будет перезапущен, будет «грубо» возвращено
7.0
(обычно чуть меньше, так как запуск callback-функции занимает время)
и т.д.
Содержание
- EvTimer::again — Перезапускает таймер наблюдателя
- EvTimer::__construct — Конструктор объекта наблюдателя EvTimer
- EvTimer::createStopped — Создаёт остановленный наблюдатель EvTimer
- EvTimer::set — Настраивает наблюдателя
There are no user contributed notes for this page.