PHP增加多维数组
问题描述:
在从数组获取输出时遇到一些问题。我环顾四周,似乎无法找出为什么我的数组没有分配索引到数组的每个部分。我环顾四周,甚至尝试在数组中添加一个计数器变量,但似乎并没有创建索引。我对PHP很新,所以任何人都可以给我的帮助将不胜感激。PHP增加多维数组
foreach($dbh->query('SELECT n_productID, t_productName, t_categoryName FROM v_prodcatintersect') as $row) {
$prodID=$row["n_productID"];
$prodName=$row["t_productName"];
$prodCategor=$row["t_categoryName"];
$products=array(
array(
"prodID" => $prodID,
"prodName" => $prodName,
"prodCategor" => $prodCategor
),
print_r($products);
}
for($i = 0, $size = sizeof($products); $i < $size; ++$i){
echo "The product ID is ".$products[$i]["prodID"];
echo " The product name is ".$products[$i]["prodName"];
echo " Product Category ".$products[$i]["prodCategor"];
}
现在从阵列(从print_r的)的输出为“阵列([0] =>数组([PRODID] => 1 [个prodName] => iPhone 4 [prodCategor] =>智能手机) )Array([0] => Array([prodID] => 2 [prodName] => Droid 3 [prodCategor] => Smartphones))“。而回声只打印第二个项目,因为它们都具有相同的索引。感谢在此创建索引的任何帮助。谢谢。
答
要将新的项目添加到现有阵列,可以使用下面的语法:
$products[] = array(
'prodID' => $prodID,
'prodName' => $prodName,
'prodCategor' => $prodCategor);
这将追加新条目到现有数组的末尾。所以,在foreach循环结尾的$products
会给你下面的内容,而不是只覆盖$products
的内容。这允许您正确地在第二个for循环中通过$ products增加。
array(
[0] => array(
[prodID] => 1
[prodName] => iPhone
[prodCategor] => Smartphones)
[1] => array(
[prodID] => 2
[prodName] => Droid
[prodCategor] => Smartphones))
答
尝试这样做 - []将增加关键指标每次添加一个子阵列到您的多维数组。
$products[] = array(
"prodID" => $prodID,
"prodName" => $prodName,
"prodCategor" => $prodCategor
)
谢谢!我很欣赏快速反应。 – 2012-04-20 01:31:54