Я безуспешно пытался получить доступ и манипулировать определенными парами значений имени в массиве в цикле foreach.
Мои данные находятся в массиве, подобном следующему:
[0] => Array
(
[subject] => math
[price] => 5
[year] => 2006
)
[1] => Array
(
[subject] => reading
[price] => 7
[year] => 2007
[author] => Smith
[publisher] => Press
)
[2] => Array
(
[subject] => reading
[price] => 9
[year] => 2008
[author] => Jones
[copyright] => 1999
)
Myкод:
$count = count($array);
for ($i = 0; $i < $count; $i++) {
foreach($array[$i] as $name => $value) {
if(preg_match('(subject|price|year)', $name) != 1) {
@$desc .= '-'.$name.'-'.$value;
} else {
$desc = '';
}
echo $i.' : '.$desc.'<br />';
}
}
Мой желаемый вывод из приведенного выше кода будет:
0 : subject-math / price-5 / year-2006
1 : subject-reading / price-7 / year-2007 / author-Smith-publisher-Press
2 : subject-reading / price-9 / year-2008 / author-Jones-copyright-1999
Основная проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как комбинировать и выводитьвсе пары имя-значение, которые не соответствуют условию preg_match.По сути тема, цена и год, общие для каждой записи, но для всех остальных я хочу иметь доступ ко всем слитым вместе как к одному элементу.
Заранее благодарен за любую помощь!