За последние 24 часа нас посетили 18726 программистов и 1703 робота. Сейчас ищут 609 программистов ...

Не могу отсортировать массив

Тема в разделе "PHP для новичков", создана пользователем kentkent7, 5 сен 2017.

  1. kentkent7

    kentkent7 Новичок

    С нами с:
    30 июн 2017
    Сообщения:
    72
    Симпатии:
    5
    Всем доброго времени суток!

    Туплю уже 4 часа,
    Решил начать применять знания на практике и тут началась большая опа :)
    Код (Text):
    1. $gamers = [ 'Martin' => [
    2.     'age' => 22,
    3.     'status' => 'pro',
    4.     'male' => 'men'
    5. ],
    6.     'Alex' => [
    7.     'age' => 21,
    8.     'status' => 'nub',
    9.     'male' => 'men'
    10. ],
    11.     'Valera' => [
    12.     'age' => 28,
    13.     'status' => 'lol',
    14.     'male' => 'men'
    15. ],
    16.     'Monica' => [
    17.     'age' => 21,
    18.     'status' => 'pro',
    19.     'male' => 'girl'
    20. ],
    21.     'Mari' => [
    22.     'age' => 26,
    23.     'status' => 'lol',
    24.     'male' => 'girl'
    25. ],
    26.     'Petr' => [
    27.     'age' => 24,
    28.     'status' => 'lol',
    29.     'male' => 'men'
    30. ],
    31.     'Sasha' => [
    32.     'age' => 24,
    33.     'status' => 'lol',
    34.     'male' => 'girl'
    35. ]
    36.          
    37. ];
    Хочу разбить игроков на смешанные команды, М против Ж.
    Подскажите куда копать :(
    --- Добавлено ---
    Пытался их разбить на 2 отдельных массива, массив с М и Ж.
    Но хочу, если где-то недобор, чтобы цикл прекращался.
    Т.е например 3 х 3
     
  2. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
  3. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    PHP:
    1.   $team_1 = array();
    2.   $team_2 = array();
    3.  
    4.   foreach ( $gamers as $k => $v )
    5.   {
    6.       $v['male'] == 'men' ? $team_1[$k] = $v : $team_2[$k] = $v;
    7.   }
    8.  
    9.  
    10.   //- Команда №1
    11.   print_r($team_1);
    12.   //- Команда №2
    13.   print_r($team_2);
     
    _ne_scaju_ нравится это.