0

私はあなたのアドバイスと助けが必要です

データベースからデータの配列をフェッチし、foreachループを使用せずに各要素を1つずつ処理したい

ポップ要素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']);
                }
               }

ログテーブル内で、間違ったメッセージIDのエントリが作成され、メッセージが間違った番号に送信されたように見えますが、そうではありません。

4

1 に答える 1

0

こんにちは仲間あなたは次のようなものを使うことができます

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

お役に立てれば :)

于 2011-04-16T10:39:06.883 に答える