2016-01-14 2 views
0

Я пытаюсь сделать простой код в PHP, чтобы решить, когда я могу сделать запрос.PHP - Неправильное использование статической переменной?

Мой код выглядит следующим образом:

$status = shell_exec("/usr/local/bin/gpio -g read 17"); 
static $status_lpv = 0; 

if ($status == 1) 
{ 
    if($status_lpv == 0) 
    { 
     $status_lpv = 1; 
     echo " do the job "; 
    } 
} 

if($status == 0) 
{ 
    if($status_lpv == 1) 
    { 
     $status_lpv = 0; 
     echo "do another job "; 
    } 
} 

Моя переменная $status_lpv всегда 0. Что я делаю неправильно?

+1

Почему вы хотите использовать статическую переменную? Кажется, он не внутри класса, просто потеряйте статику, и она будет работать нормально. – Rolf

+0

Какова ценность '$ status'? –

+0

@ Rolf Спасибо за ваш ответ. Я забыл сказать, что я обновляю страницу каждые 1 секунду. Вы знаете, как «хранить» '$ status_lpv' внешне? – Madalin

ответ

0

Попробуйте обернуть код в функции (если не там) и вызвать функцию

+0

Я забыл сказать, что я обновляю страницу каждые 1 секунду. Вы знаете, как «хранить» $ status_lpv извне? – Madalin

+0

В зависимости от того, как именно вы его обновляете. Есть ли способ передать это как параметр? (например, через GET?) –

+0

Нет, я обновляю его с помощью javascript. Я думаю, что могу «сохранить» значение в txt-файле и прочитать его в операторах if. Что ты об этом думаешь? – Madalin

0

Вы не можете статус магазина между HTTP вызывает в (статической) переменной.

Необходимо постоянное хранение, блокировка и т. Д. (Например, попробуйте базу данных)

Смежные вопросы