Обновление массива перед вставкой MySQL? - PullRequest
0 голосов
/ 20 мая 2009

Я получаю XML через php: // input и после использования simpleXML, чтобы разбить элементы на переменные, а затем я хочу добавить массив или создать массив переменных каждые 30 секунд или около того .

Причина в том, что этот скрипт будет получать регулярные входные данные, и вместо того, чтобы загружать обновления или вставки mySQL, я предполагаю, что это может быть лучше для эффективности.

Итак, пара вопросов, если у кого-нибудь есть время.

1) есть ли способ проверить новый ввод на php: // input. 2) есть ли лучший способ сделать эту повторную проверку, чем функция сна? 3) как добавить / добавить в массив эти переменные обновления?

Я пока не зашел слишком далеко, поэтому код бесполезен, но если вы простите мне простоту: -

    function input() {

    $xml = new SimpleXMLElement($input);

    $session_id = $xml->session_id;
    $ip = $xml->ip;
    $browser = $xml->browser;

    store($session_id, $ip, $browser);
    }

function store() {
    $session_id = array();
    $ip = array();
    $browser = array();
}

1 Ответ

0 голосов
/ 20 мая 2009

Если я вас правильно понимаю, похоже, что вы пытаетесь использовать PHP для длительной программы с состоянием. Я надеюсь, вы знаете следующее: Программы PHP обычно не работают дольше, чем несколько миллисекунд, максимум несколько секунд для типичного веб-приложения. Каждый раз, когда ресурс запрашивается у обработчика PHP, синтаксический анализ начинается заново, и после предыдущего выполнения не остается никакого состояния программы. Будучи средой без гражданства, вы должны поддерживать государство. По этой причине PHP не предназначен для обработки ввода, который изменяется со временем, или для поддержания состояния.

При этом самый простой способ добавления к массиву - это следующее:

$myarray[] = "newvalue";

или

$myarray['newkey'] = "newvalue";

Для обработки потока:

while (!feof($handle)){ $data = fgets($handle, 4096); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...