Нужна помощь в группировке php-массивов, чтобы сделать ее лучше

109
12

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

$data['new_array'] = array();  //I have to use $data['new_array'] because I need to pass it to template.
foreach ($get_topics as $topic) {
//Is that possible to make these 4 lines shorter?
$data['new_array'][$topic['tid']]['tid'] = $topic['tid'];
$data['new_array'][$topic['tid']]['title'] = $topic['title'];
$data['new_array'][$topic['tid']]['yes'] = $topic['yes'];
$data['new_array'][$topic['tid']]['no'] = $topic['no'];

//The belows are subarray grouping, it actually works but I need better solutions
//$new_array[$topic['tid']]['vid'][$topic['vid']][] = $topic['vid'];
//$new_array[$topic['tid']]['vid'][$topic['vid']][] = $topic['yesno'];
}

спросил(а) 2013-02-07T06:35:00+04:00 7 лет, 9 месяцев назад
1
Решение
92

Я бы даже не попытался сделать это короче, но вот ваш код в хорошей версии.

$data['new_array'] = array();

foreach ($get_topics as $topic) {
$data['new_array'][$topic['tid']] = array(
'tid' => $topic['tid'],
'title' => $topic['title'],
'yes' => $topic['yes'],
'no' => $topic['no']
);
}

Не уверен, какой тип $ topic ['tid'], но вы должны быть осторожны при использовании не последовательных чисел в качестве ключей массива.

ответил(а) 2013-02-07T13:48:00+04:00 7 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема