Обработка многомерных массивов без цикла - PullRequest
0 голосов
/ 16 апреля 2011

Мне нужен ваш совет и помощь

Я получил массив данных из базы данных и хочу обработать каждый элемент по одному без использования цикла foreach, что-то вроде

вставьте элемент a и обработайте его, когда закончите вытолкните элемент b и обработайте его, когда закончите выложить элемент b и обработать его

пока массив не станет пустым, скрипт может выйти

В настоящее время я перебираю данные с помощью цикла foreach, но все не работает, найди.

$loaded_message = $this->lib->load_queued_messages();

                if(count($loaded_message) == 0) {
                    die ('Nothing to do');
                }

               foreach($loaded_message as $tosend)
               {


                if($this->lib->send_sms($tosend['from'], $tosend['msg'], explode(',', $tosend['numbers']), $tosend['owner'], $tosend['qid']))
                {

                    // Remove the message from queue
                    $this->lib->remove_msg_from_queued_message($tosend['qid']);
                    $this->lib->log('message #' . $tosend['qid']. ' sent and removed from queue', $tosend['owner']);
                }else{
                    $this->lib->log('SENDING_ERROR: message #' . $tosend['qid']. ' not sent and remain in the queue for#', $tosend['owner']);
                }
               }

Внутри таблицы журнала я обнаружил, что была сделана запись для неправильного идентификатора сообщения, и кажется, что сообщение было отправлено на неправильный номер, но это не так.

1 Ответ

0 голосов
/ 16 апреля 2011

привет, приятель, ты можешь использовать что-то вроде

while(sizeof($yourarray)) {
  $result = array_pop(yourarray);
  ...yourprocessing_here(...);
}

надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...