【问题标题】:Array for each array row PHP每个数组行的数组 PHP
【发布时间】:2020-05-12 09:54:19
【问题描述】:

我有一个array,名称为$items,如下所示:

array(2) { 

[0]=> array(8) { ["item_regel"]=> int(0) ["item_id"]=> string(2) "82" ["item_naam"]=> string(21) "Bureauschermen staand" ["item_uitvoering"]=> string(12) "100 x 200 cm" ["item_afmeting"]=> NULL ["item_kleur"]=> string(11) "Transparant" ["item_aantal"]=> string(1) "2" ["item_opmerking"]=> string(18) "Ik wil mijn logo 2" } 

[1]=> array(8) { ["item_regel"]=> int(1) ["item_id"]=> string(3) "226" ["item_naam"]=> string(33) "Instructieborden Dibond aluminium" ["item_uitvoering"]=> string(10) "50 x 50 cm" ["item_afmeting"]=> NULL ["item_kleur"]=> string(5) "Blauw" ["item_aantal"]=> string(1) "2" ["item_opmerking"]=> string(4) "test" } 

}

我发现这段代码可以预填充重力表单列表字段:

add_filter( 'gform_field_value_list_one', 'itsg_prefill_list_one' );
function itsg_prefill_list_one( $value ) {
    $list_array = array(
        //List row
        array(
            "Product" => "Product",
            "Afmeting" => "Good",
            "Uitvoering" => "Product",
            "Kleur" => "Product",
            "Aantal" => "Product",
            "Opmerking" => "Product",
        ),
        //List row
        array(
            "Product" => "Product",
            "Afmeting" => "Good",
            "Uitvoering" => "Product",
            "Kleur" => "Product",
            "Aantal" => "Product",
            "Opmerking" => "Product",
        ),
    );
    return $list_array;
}

现在这个function 填充了固定的values。我想在上面的array 内做一个'List row' foreach 行。

我试过了,但是不行:

add_filter( 'gform_field_value_list_one', 'itsg_prefill_list_one' );
function itsg_prefill_list_one( $value ) {
$items = $_SESSION["wishlist"];
    $list_array = array(
     foreach ($items as $keys => $values) {
       array(
            "Product" => $values["item_naam"],
            "Afmeting" => $values["item_afmeting"],
            "Uitvoering" => $values["item_uitvoering"],
            "Kleur" => $values["item_kleur"],
            "Aantal" => $values["item_aantal"],
            "Opmerking" => $values["item_opmerking"],
        ),
     }
);
    return $list_array;
}

【问题讨论】:

  • 那你应该试一试。如果您尝试过但没有成功,请返回并就该特定问题寻求帮助
  • 请不要只要求我们解决问题或为您编写解决方案。欢迎初学者,但我们希望您在提出问题之前付出一些努力来解决您自己的问题。尽管我们非常愿意帮助您解决您编写的代码的问题,但我们不会为您编写代码。
  • 用我试过的东西编辑了我的代码

标签: php arrays loops foreach row


【解决方案1】:

在循环内部从循环数组中添加项到数组中

add_filter( 'gform_field_value_list_one', 'itsg_prefill_list_one' );
function itsg_prefill_list_one( $value ) {

    foreach ($_SESSION["wishlist"] as $keys => $values) {
        $list_array[] = [
                        "Product" => $values["item_naam"],
                        "Afmeting" => $values["item_afmeting"],
                        "Uitvoering" => $values["item_uitvoering"],
                        "Kleur" => $values["item_kleur"],
                        "Aantal" => $values["item_aantal"],
                        "Opmerking" => $values["item_opmerking"],
                        ];
    }
    return $list_array;
}

【讨论】:

  • 此代码对我不起作用。 "Product" 、` "Afmeting"` 等值需要设置为固定值。只有=> 之后的内容才需要超出array
  • 这样更好吗,不难做到
猜你喜欢
  • 2014-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 2018-03-13
相关资源
最近更新 更多