<?
$categoriesID = array("popular","old");
$product => array (
Product 1
'categoryID' => $categoriesID[1],
'Name' => 'Product One',
Product 2
'categoryID' => $categoriesID[2],
'Name' => 'Product Two',
Product 3
'categoryID' => $categoriesID[2],
'Name' => 'Product Two',
Product 4
'categoryID' => $categoriesID[2],
'Name' => 'Product Two',
);
如何遍历此变量以反映产品1属于类别1,产品2属于类别2,产品3属于类别2,依此类推?
我尝试了以下方法,但是没有运气。
foreach($product as $key => $pro){
var_dump($categoriesID[$key]);
}
我真的很感谢任何建议或我做错了什么。目标是将关系插入数据库表中,以便在其中插入产品,需要category_id。
答案 0 :(得分:1)
您的数组未正确写入。您在此处获得了多维数组(数组内部的数组)。请阅读以下内容以了解它们的书写方式以及如何使用它们:http://php.net/manual/en/language.types.array.php
如果类别是数字,则还应该考虑使用数字值:$ categoriesID数组中的1代替“ 1”,或者根据数据库自动转换功能,将字符串插入为小数会出现问题。
这是将您给定的代码修改为工作示例。香港专业教育学院更改了var_dump输出以更好地读取结果。
我还更改了自数组从0开始以来使用的数组索引。如果您仍需要从1开始的数字,则可以在数组的开头添加一些废话值,或者在访问数组时减去1。请记住,这是针对给定问题的快速而肮脏的解决方案。
尽管如此,正如Patrick Q所说,您应该考虑对PHP进行一些介绍。
<?php
$categoriesID = array('1','2');
$product = array (
array(
'categoryID' => $categoriesID[0],
'Name' => 'Product One',
),
array(
'categoryID' => $categoriesID[1],
'Name' => 'Product Two',
),
array(
'categoryID' => $categoriesID[1],
'Name' => 'Product Two',
),
array(
'categoryID' => $categoriesID[1],
'Name' => 'Product Two',
)
);
foreach($product as $key => $value){
echo var_export($value, true) . '<br>';
}
答案 1 :(得分:0)
您可以进一步编辑Mariusz的答案以执行以下操作:
foreach($product as $item){
echo $item['Name'].' - '.$item['categoryID'].'<br>';
}
这将使您可以轻松访问产品名称和类别ID。