Мне нужен ассоциативный массив с этой структурой (ключи - это строки, значения - индексированные массивы), и я добавляю элементы динамически.PHP Ассоциативный массив, вставляемый как индексированный массив
Array(
["itemCategory"]=> Array("itemName", "itemName"...)
["itemCategory"]=> Array("itemName", "itemName"...)
...
)
Однако, я не могу показаться, чтобы сформировать массив в пределах ассоциативного массива, когда я делаю это (в соответствии с просьбой, я добавил код MySQLi):
if (!($stmt = $mysqli->prepare(
"SELECT b.id, b.type, b.name, b.street, b.city, b.state, b.zipcode, b.phone, b.website, b.hours, b.latitude, b.longitude, c.id, c.name, i.id, i.name
FROM business b LEFT JOIN business_category_item bci ON bci.bid = b.id
LEFT JOIN category c ON c.id=bci.cid LEFT JOIN item i ON i.id = bci.iid"))) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
}
if(!$stmt->bind_result($bID,$bT,$bN,$bStr,$bC,$bSta,$bZ,$bP,$bW,$bH,$bLat,$bLng,$cI,$cN,$iI,$iN)){
echo "Bind failed: " . $mysqli->connect_errno . " " . $mysqlii->connect_error;
}
$arr=array();
while($row=$stmt->fetch()){
$arr[$cN][]=$iN; //gettype($cN) returns "string"
}
Я также попытался array_push () без везения (Неизвестная ошибка индекса):
array_push($arr[$cN],$iN);
Когда я печатаю мой массив, он всегда печатает так:
print_r($arr, true);
Array
(
[0] => Array
(
[0] => "MP3 player"
[1] => "Computers"
)
[1] => Array
(
[0] => "Tank tops"
[1] => "Blankets"
[2] => "Shirts"
)
)
вместо того, что мне нужно, что:
Array
(
["electronics"] => Array
(
[0] => "MP3 player"
[1] => "Computers"
)
["clothing"] => Array
(
[0] => "Tank tops"
[1] => "Blankets"
[2] => "Shirts"
)
)
Любая помощь будет оценена.
То, что вы написали, выглядит так, как должно работать. Вы уверены, что '$ cName' установлен правильно? – Barmar
Вы используете 'mysqli'? показать '-> bind_result()' часть, где, скорее всего, '$ cName' установлено – Ghost
Пожалуйста, разместите фактический код, особенно часть, которая устанавливает' $ cName'. – Barmar