Сгруппируйте данные строки из двухмерного массива по одному столбцу и заполните подмассив группы другим столбцом.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сгруппируйте данные строки из двухмерного массива по одному столбцу и заполните подмассив группы другим столбцом.

Сообщение Anonymous »

У меня есть массив, который содержит данные следующим образом.

Код: Выделить всё

$students_array = [
["class" => 1, "sid" => "s00123"],
["class" => 2, "sid" => "s00456"],
["class" => 1, "sid" => "s008765"],
["class" => 1, "sid" => "s008987"],
["class" => 3, "sid" => "s008789"],
["class" => 3, "sid" => "s008543"]
];
Массив содержит идентификатор класса и ученика. Я хочу сгруппировать этот массив таким образом, чтобы он был сгруппирован по классу.

Код: Выделить всё

[
1 => [
["sid" => "s00123"],
["sid" => "s008765"],
["sid" => "s008987"],
],
2 => [
["sid" => "s00456"],
]
3 => [
["sid" => "s008789"],
["sid" => "s008543"],
]
]
< /code>
Код, который я использую, - < /p>
$class_array = array();
foreach ($students_array as $sa) {
if (isset($class_array[$sa['class']])) {
$inner_array = array();
$inner_array["sid"] = $sa['sid'];
$class_array[$sa['class']][]= $inner_array;
} else {
$inner_array = array();
$inner_array["sid"] = $sa['sid'];
$class_array[$sa['class']][]= $inner_array;
}
}
это мне подходит, но есть ли какое-нибудь лучшее решение или какие-либо встроенные функции PHP для этого?


Подробнее здесь: https://stackoverflow.com/questions/606 ... subarray-w
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»