доступ к значению массива в цикле for

Я строю массив в цикле и результаты ниже для целей тестирования:

$email_array[]= array(
'email' => $fnd_result->fields['email'],
'name' => $fnd_result->fields['name']
);
//$emailArray
(
[0] => Array
(
[email] => [email protected]
[name] => test1
)

[1] => Array
(
[email] => [email protected]
[name] => test2
)
)
$snd_cnt = count($email_array);

затем на событие запускается эта функция:

 for ($x = 0; $x < $snd_cnt; $x++){
$send_to_name = $email_array[$x]['name'];
$send_to_email = $email_array[$x]['email'];
$email_subject = "Your Forklift Has Arrived!";
// Prepare Text-only portion of message
$text_message = OFFICE_FROM . "\t" . $bname . "\n" .
'As you requested, we are notifying you that we have a new forklift in our inventory' . "\n" ."\n" .
'We added a: ' . "\n" ."\n" .
'Year: ' . $forklift_year . "\n" .
'Make: ' . $forklift_make . "\n" .
'Model: ' . $products_model . "\n" .
'Please visit our website at ojlforklifts.com or call us at (305) 836-4337 ' ."\n" ."\n" ."\n" .
$extra_info['TEXT'];
// Prepare HTML-portion of message
$html_msg['EMAIL_GREETING'] = $email_subject;
$html_msg['EMAIL_WELCOME'] = 'We recieved a Forklift within your specs.';
$html_msg['EMAIL_FIRST_NAME'] = $send_to_name;
$html_msg['EMAIL_MESSAGE_HTML'] = '<table> ' .
'<tr><td>Make: </td> <td>' . $forklift_make . '</td></tr>' .
'<tr><td>Capacity: </td> <td>' . $forklift_capacity . 'Lbs</td></tr>' .
'<tr><td>Fuel: </td> <td>' . $fuelM . '</td></tr>' .
'<tr><td>Tires: </td> <td>' . $tireM . '</td></tr>' .
'<tr><td>Price: </td> <td>' . $products_price . '</td></tr>' .
'<tr><td colspan="2"><img src="http://ojlforklifts.com/images/' . $products_image . '" width="350"/></td></tr>' .
'</table>';zen_mail($send_to_name, $send_to_email, $email_subject, $text_message, $name, $email_address, $html_msg ,'fork_notify');
}

$ send_to_email всегда возвращается пустым

$ send_to_name всегда возвращает пустое

Так что проблема в том, что я не могу получить доступ к 2 переменным в цикле.
Если я echo $email_array[0]['email'] с жестко закодированным индексом, я получу результат [email protected], но в ту минуту, когда я вставил переменную для индекса, $email_array[$x]['email'], результат пуст.

Может кто-то указать мне верное направление?
Я даже попробовал цикл while, и он тоже не работает.

-1

Решение

Вы могли бы использовать foreach цикл:

foreach ($emailArray as $key => $value) {
$send_to_name = $value['name'];
$send_to_email = $value['email'];
}
2

Другие решения

Переменная send_to_name получает последний элемент из массива. Это потому, что вы снова и снова присваиваете значение этой переменной. Вы можете использовать цикл foreach.

foreach ($emailArray as $key => $value) {
$send_to_name = $value ['name'];
$send_to_email = $value ['email'];
//rest code to send email.
}
1

По вопросам рекламы [email protected]