Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите с обработкой массива
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Помогите с обработкой массива

Страниц (1): [1]
 

1. multimilliarder - 30 Июля, 2009 - 10:25:34 - перейти к сообщению
Создал функцию автоматического добавления полей в форме подписки.
Данные отсылаются на обработчик в таком виде:
$name_0 $email_0
$name_1 $email_1
$name_2 $email_2
... ...
$name_n $email_n

Проблема!
Не могу создать цикл для его обработки на валидность.
Подскажите пожалуйста как это можно сделать.

Заранее благодарю Улыбка =))
2. Neirol - 30 Июля, 2009 - 13:16:34 - перейти к сообщению
Это не в коем случае не массив!!
У массива элементы указываются в квадратных скобках и в кавычках (если массив ассоциативный).

Т.е. $name[0] $email[0]

А чтобы пройтись делаешь цикл:

for($i=0; $i<count($name); $i++) {
print $name[$i]." ".$email[$i];
}
3. multimilliarder - 30 Июля, 2009 - 19:22:26 - перейти к сообщению
Нет ты похоже не понял, это и есть элементы массива:
$_POST['$name_0'] $_POST['email_0']
$_POST['$name_1'] $_POST['email_1']
...
$_POST['$name_n'] $_POST['email_n']



вот поэтому и не могу, мож подскажешь как обратиться к элементу массива по номеру, тогда я сам обработать смогу, в том то и загвоздка что не могу эту самую n выделить=(
4. Ch_chov - 30 Июля, 2009 - 20:41:27 - перейти к сообщению
Перебирай $_POST как обычный массив.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. foreach($_POST as $key => $val) {
  3.   if($key{0} == 'm') {
  4.     // Mail checking...
  5.   }
  6.   if($key{0} == 'n') {
  7.     // Name checking...
  8.   }
  9. }
  10. ?>
5. multimilliarder - 31 Июля, 2009 - 10:24:43 - перейти к сообщению
Огромное спасибо=))

 

Powered by ExBB FM 1.0 RC1