Хранение множества элементов массива

Задача
Необходимо связать различные элементы с одним ключом.

Решение
Занесение нескольких элементов в массив:

$fruits = array('red' => array('strawberry','apple'),
'yellow' => array('banana'));
Или используйте объект:
while ($obj = mysql_fetch_object($r)) {
$fruits[] = $obj;
}


Обсуждение
В PHP в пределах одного массива ключи уникальны, поэтому нельзя связать с ключом более одного значения без перезаписи старого значения. Вместо этого запоминают значения в
безымянном массиве:

$fruits['red'][] = 'strawberry';
$fruits['red'][] = 'apple';
$fruits['yellow'][] = 'banana';


Или оперируют с элементами в цикле:

while (list($color,$fruit) = mysql_fetch_array($r)) {
$fruits[$color][] = $fruit;
}


Для вывода элементов выполните цикл по всему массиву:

foreach ($fruits as $color=>$color_fruit) {
// $color_fruit – это массив
foreach ($color_fruit as $fruit) {
print "$fruit is colored $color.
";
}
}


Или используйте функцию pc_array_to_comma_string()

foreach ($fruits as $color=>$color_fruit) {
print "$color colored fruits include " .
pc_array_to_comma_string($color_fruit) . "
";
}
Теги:
color, fruit, fruits, array, элементов, значения, foreach, используйте, yellow, string, fetch, mysql, while, banana, apple, связать, strawberry, одного, comma, ключом, print, colored, оперируют, цикле, массиве, множества, вывода, выполните, всему, массиву, запоминают, массив , функцию, безымянном, ключи
Добавлено: 21 Июля 2018 07:07:30 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...