如何在PHP上循环浏览产品和类别列表

时间:2018-11-07 18:55:59

标签: php loops

<? 
 $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。

2 个答案:

答案 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。