2015-09-05 2 views
1

Можно ли хранить несколько значений в одном ключе?PHP Хранить несколько значений в ключе

I цикл по всем элементам в моей БД, которые имеют следующий propertys:

category, itemname and itemurl 

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

Items [ 
    category1 => item1[], item2[], item3[] 
    category2 => item4[], item5[] 
    category3 => item6[] 
] 

Благодарим за помощь!

Решение: Вы можете хранить значения в анонимный массив

while ($stmt->fetch() ) { 

    $tempArray = [ 
     'xxx' => xxx, 
     'yyy' => yyy, 
     'zzz' => zzz 
    ]; 
    Items[category][ ] = $tempArray; 
} 
+0

братан, его не ясно ... – aimme

ответ

0

Я не уверен, если я полностью понимаю вас, но если я правильно с тем, что вы пытаетесь достичь :

Просто использовать массив для их хранения (вы не можете иметь один ключ ко многим объектам, но вы можете иметь один ключ к одному объекту, и что один объект может хранить много других объектов)

Items [ 
    category1 => array(item1[], item2[], item3[]), 
    category2 => array(item4[], item5[]), 
    category3 => array(item6[])), 
] 
1

не может понять вопрос правильно, но хранить несколько значений в ключе очень легко в PHP

$items[0]['category'] = "Category 1" 
$items[0]['itemname'] = "Item Numero Uno" 
$items[0]['itemrul'] = "myfavoriteitem.com" 

$items[1]['category'] = // . . . you get it 

Преобразовать их по категориям, должны быть достаточно легко

$categorized = array(); 

foreach ($items as $item) { 
    $categorized[$item['category']][] = $item; //append item to the category 
} 
+0

спасибо за помощь, я нашел его сам, посмотрите на мое решение выше :) – user3759502

Смежные вопросы