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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Разбить массив на четные и нечетные числа.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
kriger
Отправлено: 02 Марта, 2011 - 20:44:22
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Собственно сабж. Имеется массив чисел $myarray, подскажите как бы его разбить на 2 массива: четный и нечетный.
 
 Top
CodeWarrior
Отправлено: 02 Марта, 2011 - 21:29:14
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009  
Откуда: Албания


Помог: 0 раз(а)




методом перебора?
 
 Top
kriger
Отправлено: 02 Марта, 2011 - 21:36:08
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Да по сути любым методом. За день уже голова кипит. Нет готовой функции в РНР? Или придется в цикле как нибудь делить до остатка?
 
 Top
ams
Отправлено: 02 Марта, 2011 - 21:41:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 351
Дата рег-ции: Нояб. 2010  


Помог: 13 раз(а)




Если если не значение, то както так
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($myarray as $k => $v)
  3. {
  4. if ($k % 2 ==0)
  5. $arr1[] = $v;
  6. else
  7. $arr2[] = $v;
  8. }
  9.  
 
 Top
kriger
Отправлено: 02 Марта, 2011 - 22:15:19
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




Немного не понял...



эта запись разве не для ассоциативных массивов?
По идее для одномерного нужно



Поправьте, если ошибаюсь.
 
 Top
ams
Отправлено: 02 Марта, 2011 - 22:27:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 351
Дата рег-ции: Нояб. 2010  


Помог: 13 раз(а)




Даже в обычном массиве будут ключи.
$arr = array(12,126,12612,346,3);

$arr[4] = 3; ...
 
 Top
kriger
Отправлено: 02 Марта, 2011 - 22:51:38
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Сент. 2009  


Помог: 0 раз(а)




ams пишет:
Даже в обычном массиве будут ключи.
$arr = array(12,126,12612,346,3);

$arr[4] = 3; ...


Так, этот момент я понял.


Но тогда получается ошибка. Нам же надо не ключ делить а значение ключа, иначе просто получится 2 массива, путем поочередного расчленения основного массива. По сути должно быть так:

PHP:
скопировать код в буфер обмена
  1. foreach ($myarray as $k => $v)
  2.      {
  3.        if ($v % 2 ==0)
  4.           $arr1[] = $v;
  5.        else
  6.           $arr2[] = $v;
  7. }


Может $k вообще не использовать?
(Добавление)
Спасибо, действительно работает. Улыбка

(Отредактировано автором: 02 Марта, 2011 - 22:53:45)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB