在Foreach循环内创建数组

时间:2019-10-31 03:03:45

标签: php arrays

如何将这些代码放入foreach循环中?

    $item1_details = array(
        'id' => 'a1',
        'price' => 18000,
        'quantity' => 3,
        'name' => "Apple"
    );


    $item2_details = array(
        'id' => 'a2',
        'price' => 20000,
        'quantity' => 2,
        'name' => "Orange"
    );

然后,上面的数组将保存在变量中。这是一个数组。而且,是的,我不知道如何在数组内部执行循环。所以也请帮我。

    $item_details = array ($item1_details, $item2_details);

因此,我不得不提问。首先,如何在foreach循环中创建数组。第二,如何在数组内部循环。

3 个答案:

答案 0 :(得分:0)

您不要在数组中放入循环,而是将其推入循环中。

apiVersion: "config.istio.io/v1alpha2"
kind: handler
metadata:
  name: denyotherserverhandler
spec:
  compiledAdapter: denier
  params:
    status:
      code: 7
      message: Not allowed
---
apiVersion: "config.istio.io/v1alpha2"
kind: instance
metadata:
  name: denyotherserverrequest
spec:
  compiledTemplate: checknothing
---
apiVersion: "config.istio.io/v1alpha2"
kind: rule
metadata:
  name: denyotherserverrule
spec:
  match: destination.labels["app"] == "s2" && source.labels["app"]=="s1"
  actions:
  - handler: denyotherserverhandler
    instances: [ denyotherserverrequest ]

这将构成一个包含$item_details = array(); for ($i = 0; $i < 10; $i++) { $item_details[] = $item1_details; $item_details[] = $item2_details; } $item1_details的10个交替副本的数组。

您提到了$item2_details循环,但这是用于循环存在的数组。您没有显示任何要循环的数组,因此我不确定在这种情况下它如何应用。

答案 1 :(得分:0)

   <?php 

    $item_details = array();
    for ($i = 0; $i < 10; $i++) {
        $item_details[] = $item1_details;
        print_r($item1_details);
        $item_details[] = $item2_details;
        print_r($item2_details);
    }

如果要从数组中获取任何值

   $item_details = array();
   for ($i = 0; $i < 10; $i++) {
        $item_details[] = $item1_details;
        print_r($item1_details['price']);
        $item_details[] = $item2_details;
        print_r($item2_details['price']);
    }

答案 2 :(得分:0)

您可以将array_valuesarray_merge一起使用

$f = array_merge(array_values($item1_details), array_values($item2_details));

工作示例:-https://3v4l.org/fDM3N