Php 在数组中通过数组循环

Php 在数组中通过数组循环,php,laravel-5,Php,Laravel 5,我想在和数组中循环一个数组。我不熟悉循环,我正在努力阅读文档 $data包含以下内容 Array ( [products] => Array ( [0] => Product1 [1] => Product2 ) ) 我想使用foreach循环,我已经尝试过了 foreach($data as $key){ echo $key->products } 我希望能够分别输出产品

我想在和数组中循环一个数组。我不熟悉循环,我正在努力阅读文档

$data包含以下内容

Array
(
    [products] => Array
        (
            [0] => Product1
            [1] => Product2
        )
)
我想使用foreach循环,我已经尝试过了

foreach($data as $key){
    echo $key->products
}

我希望能够分别输出产品1和产品2。

您可以使用
foerach

foreach($data as $value) {
    foreach($value as $product) {
        var_dump($product);
    }
}
  • 您可以将
    产品
    分解为键值
  • 但在本例中,通过直接为foreach提供要循环的数组,可以更好地执行以下操作

  • 如果希望数组很快转换为对象,请使用类型对象转换

    
    
    $productsObject= (object) $array;
    
    print_r($productsObject->products));
    
    
    如果您是数组迭代器

    foreach($data['products'] as $key){
    
      echo $key;
    
    }
    

    如果您使用高级技术,也许您可以使用ArrayObject类,将单个
    foreach()
    产品
    索引一起使用

    <?php
    $data = array
    (
        'products' => array
            (
                'Product1',
                'Product2'
            )
    );
    
    foreach( $data['products'] as $product ) {
        echo $product.PHP_EOL;
    }
    ?>
    
    
    

    演示:

    将引用移动到产品(它应该是一个数组引用),因此请尝试
    foreach($key作为$data['products']){
    foreach($data['products'] as $key){
    
      echo $key;
    
    }
    
    <?php
    $data = array
    (
        'products' => array
            (
                'Product1',
                'Product2'
            )
    );
    
    foreach( $data['products'] as $product ) {
        echo $product.PHP_EOL;
    }
    ?>