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 » Программирование на PHP » Разбить массив на четные и нечетные числа.

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

1. kriger - 02 Марта, 2011 - 20:44:22 - перейти к сообщению
Собственно сабж. Имеется массив чисел $myarray, подскажите как бы его разбить на 2 массива: четный и нечетный.
2. CodeWarrior - 02 Марта, 2011 - 21:29:14 - перейти к сообщению
методом перебора?
3. kriger - 02 Марта, 2011 - 21:36:08 - перейти к сообщению
Да по сути любым методом. За день уже голова кипит. Нет готовой функции в РНР? Или придется в цикле как нибудь делить до остатка?
4. ams - 02 Марта, 2011 - 21:41:40 - перейти к сообщению
Если если не значение, то както так
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($myarray as $k => $v)
  3. {
  4. if ($k % 2 ==0)
  5. $arr1[] = $v;
  6. else
  7. $arr2[] = $v;
  8. }
  9.  
5. kriger - 02 Марта, 2011 - 22:15:19 - перейти к сообщению
Немного не понял...



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



Поправьте, если ошибаюсь.
6. ams - 02 Марта, 2011 - 22:27:18 - перейти к сообщению
Даже в обычном массиве будут ключи.
$arr = array(12,126,12612,346,3);

$arr[4] = 3; ...
7. kriger - 02 Марта, 2011 - 22:51:38 - перейти к сообщению
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 вообще не использовать?
(Добавление)
Спасибо, действительно работает. Улыбка

 

Powered by ExBB FM 1.0 RC1