Есть код..
$db = new Database();
$options=array();
$data=array();
$db->query('SELECT * FROM products LIMIT 0, 10');
$db->execute();
$prod = $db->resultset();
foreach ($prod as $d) {
$db->query('SELECT product_lists_val.*, lists.ru AS VAL, lists_name.ru AS LNAME from product_lists_val inner join lists_name on lists_name.id = product_lists_val.list_id inner join lists on lists.id=product_lists_val.val WHERE product_lists_val.prod_id='.$d['id']);
$db->execute();
$lists = $db->resultset();
if (count($lists) != 0 ) {
$options[$d['id']]=$lists; //вот тут ошибка
}
Мне нужно чтобы в вместо стандартных индексов в массиве $options[] (0,1,2,3... ) использовался ID товара.. для этого я делаю $options[$d['id']]=$lists;
но получаю следующий результат:
[0] => Array
(
[id] => 1
[prod_id] => 8
[list_id] => 1
[val] => 60
[VAL] => Красный
[LNAME] => Общий список цветов
)
[1] => Array
(
[id] => 2
[prod_id] => 8
[list_id] => 2
[val] => 85
[VAL] => Алюминий
[LNAME] => Материал
)
А мне нужно, чтобы вместо [0] => Array ... [1] => Array было [ID_ТОВАРА1] => Array [ID_ТОВАРА2]
=> Array
Отдельно создавал пример - все работает как надо..
<?php
$names["Иванов"]="Иван";
$names["Сидоров"]="Николай";
$names["Петров"]="Петр";
var_dump($names);
?>
array(3) {
["Иванов"]=>
string(8) "Иван"
["Сидоров"]=>
string(14) "Николай"
["Петров"]=>
string(8) "Петр"
}
Почему не присваивается индекс массива?
UPD
Пробовал вместе ID товара из базы вставлять произвольное значение
$i=100;
foreach ($prod as $d) {
$db->query('SELECT product_lists_val.*, lists.ru AS VAL, lists_name.ru AS LNAME from product_lists_val inner join lists_name on lists_name.id = product_lists_val.list_id inner join lists on lists.id=product_lists_val.val WHERE product_lists_val.prod_id='.$d['id']);
$db->execute();
$lists = $db->resultset();
if (count($lists) != 0 ) {
$options[$i]=$lists; //вот тут ошибка
}
$i=$i+1;
}
все равно идет стандартная нумерация 0,1,2,3....