2013-09-02 3 views
0

Это довольно новичок в вопросе. Я рассматривал аналогичные решения для подобных проблем здесь и вокруг Интернета, однако я не могу найти, что проблема с этим.Поиск и обновление элементов 2D 2D-массива

Я играю с PHP и пишу немного кода, который извлекает все почтовые данные из API. Однако я заметил, что время загрузки было очень медленным, и это было потому, что для каждого содержимого почты я делал отдельный запрос. С тех пор я понял, как искать то, что я ищу, но мне трудно добавить данные, которые вернулись в мой 2D-массив, и я храню данные перед его выходом.

Вот мой массив внизу;

$mailMessage = array(
       array(
     'mailNumber' => $mailCount, 
     'mailID' => $mailID, 
     'mailDate' => $mailDate, 
     'mailSender' => $mailSender, 
     'mailSenderName' => null, 
     'mailMsg' => null 
     )); 

И вот как я пытаюсь обновить указанный массив;

foreach ($mailMessage as &$row){ 
    if($row['mailID'] == $getMailID){ 
     $row['mailMsg'] = $body; 
    break; 
    } 
} 

Так я проверяю, если mailID такой же, как тот, который я в настоящее время смотрит на, а затем, если это я пытаюсь обновить MAILMSG часть массива на этой линии, чтобы быть $ тела. Я проверил

Это, однако, не работает. Сообщения об ошибках PHP не отображаются - (Несколько раз это хуже!), И я довольно сильно ударяю головой о кирпичную стену.

Спасибо за чтение & за ваше время,

Джейми

ответ

1

Есть ли причина, что вы используете многомерный массив, а не просто ассоциативный? Вы не итерируете какие-либо индексы, потому что в формате агрегированного массива нет ни одного. Правильный формат должен быть:

многомерном:

$mailMessage = array(
    0 => array(
     'mailNumber' => $mailCount, 
     'mailID' => $mailID, 
     'mailDate' => $mailDate, 
     'mailSender' => $mailSender, 
     'mailSenderName' => null, 
     'mailMsg' => null 
    ) 
); 

Ассоциативные:

$mailMessage = array(
    'mailNumber' => $mailCount, 
    'mailID' => $mailID, 
    'mailDate' => $mailDate, 
    'mailSender' => $mailSender, 
    'mailSenderName' => null, 
    'mailMsg' => null 
); 
+0

я пустой массив, как определено выше; '$ mailPeople = array();' И затем добавлялось к массиву в цикле ниже, когда я перебирал некоторые данные XML; \t «$ NewData = массив ( \t \t 'mailNumber' => $ mailCount, \t \t 'mailID' => $ mailID, \t \t 'mailDate' => $ mailDate, \t \t 'MailSender' => $ MailSender, \t \t 'mailSenderName' => NULL, \t \t 'MAILMSG' => нулевой \t \t); \t $ mailMessage [] = $ newdata; \t $ mailCount ++; } Не могу сказать, что я смотрел на ассоциативные массивы на PHP, я не знал, что они существуют - я рассмотрю его и посмотрю, смогу ли я заставить работать с этим - Спасибо ! – Jamie

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