Foreach循环仅返回多维数组PHP上的第一个索引

伊兹

让我解释一下我的情况,我正在为公司制作邮件模板。该邮件模板必须完全使用HTML。邮件模板包含我们商店中的其他产品。模板带有带有有关产品信息的框。让我向您展示我的模板:

mailing-template.html

         <div>
                    ##PRODUCT_NAME##                     <br />    
                    Onderdeel Nr: ##PRODUCT_ID##         <br />  
                    Merk: ##PRODUCT_BRAND##              <br />  
                    Prijs: €##PRODUCT_PRICE##            <br />
         </div>

您可能会说,## PRODUCT_INFORMATION#是我的产品信息将到的地方。在PHP的帮助下,我可以替代它。我从不同的数组中获取产品信息,如下所示:

数组

$products = array
(
    array
    (
        'product_id' => 'RD55559955',
        'product_name' => 'Ontsteking (DI) Cassette Zwart Origineel Saab 9-3/9-5',
        'price_excl' => 22600,
        'product_brand' => 'Origineel Saab',
    ),

    array
    (
        'product_id' => 'RD55559955',
        'product_name' => 'een ander product',
        'price_excl' => 22600,
        'product_brand' => 'Origineel Saab',
    ),

    array
    (
        'product_id' => 'RD55559955',
        'product_name' => 'nog een ander product',
        'price_excl' => 22600,
        'product_brand' => 'Origineel Saab',
    )
);

现在,让我向您展示如何替换信息:

createTemplate.php

//get content from mailing-template
$template = file_get_contents(dirname(__FILE__).'/mailing-template.html');
$content = $template;

foreach ($products as $product){

//replace placeholders with actual product data
$content = str_ireplace('##PRODUCT_ID##', $product['product_id'], $content);
$content = str_ireplace('##PRODUCT_NAME##', $product['product_name'], $content);
$content = str_ireplace('##PRODUCT_PRICE##', round($product['price_excl']/100, 2), $content);
$content = str_ireplace('##PRODUCT_BRAND##', $product['product_brand'], $content);


//echo the template
echo $content;
}

我正在str_ireplace用来替换信息。

我想要的东西:所以我想要的是在每个阵列上显示一个产品信息框。

问题:它只显示第一个阵列中的三个产品框。

问题:有谁知道我如何显示来自所有三个阵列的三个框?

这个问题对于答案可能有多么简单很重要,但是,我已经被困了很长时间了,所以我希望这里有人可以帮助我。感谢您抽出宝贵的时间,感谢我能提供的所有帮助!

对于这一切,我真的很陌生,包括stackoverflow,因此请尽可能纠正我。:)

注意:当我echo $product['product_name']在外面时,$content它会显示三个不同的名称。每当我编辑时它都不起作用$content我只是似乎不明白为什么。

米克马克萨

第一个循环之后没有剩余的占位符。

每次迭代都需要一个新的模板。

我也看不到需要case_insensitive替换。

的前两个参数str_replace()将接受数组,因此您可以将函数调用总数减少为一个。

经测试的代码:(演示

foreach ($products as $product) {
    echo str_replace(
             ['##PRODUCT_ID##', 
              '##PRODUCT_NAME##',
              '##PRODUCT_PRICE##',
              '##PRODUCT_BRAND##'],
             [$product['product_id'],
              $product['product_name'],
              round($product['price_excl']/100, 2),
              $product['product_brand']],
             $content
         );
}

输出:

<div>
     Ontsteking (DI) Cassette Zwart Origineel Saab 9-3/9-5                     <br />    
     Onderdeel Nr: RD55559955         <br />  
     Merk: Origineel Saab              <br />  
     Prijs: €226            <br />
</div><div>
     een ander product                     <br />    
     Onderdeel Nr: RD55559955         <br />  
     Merk: Origineel Saab              <br />  
     Prijs: €226            <br />
</div><div>
     nog een ander product                     <br />    
     Onderdeel Nr: RD55559955         <br />  
     Merk: Origineel Saab              <br />  
     Prijs: €226            <br />
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

到达数组中的最后一个索引后返回第一个索引

来自分类Dev

使用PHP获取多维数组中的第一个键

来自分类Dev

PHP-计算多维数组中第一个元素中的唯一值

来自分类Dev

Java多维数组-为什么仅定义第一个大小就足够了?

来自分类Dev

多维数组的ActionListener仅适用于第一个按钮吗?

来自分类Dev

PHP for循环在for循环内仅产生第一个结果

来自分类Dev

Laravel WhereIn数组仅返回第一个索引结果

来自分类Dev

使用逻辑索引时,大熊猫仅应用返回第一个值

来自分类Dev

生成列表,但仅显示第一个索引

来自分类Dev

Flutter:用于验证的for循环仅读取第一个索引,而不是所有索引

来自分类Dev

PHP-Foreach循环仅回显字符串的第一个字母

来自分类Dev

读取多维数组仅打印子数组的第一个字符

来自分类Dev

多维数组的ActionListener仅适用于第一个按钮吗?

来自分类Dev

自动用元素列表循环填充数组,仅设置第一个元素

来自分类Dev

遍历2个数组仅循环第一个元素

来自分类Dev

数组函数仅返回第一个值

来自分类Dev

第一个元素的PHP foreach循环问题

来自分类Dev

在foreach中创建数组,键为循环中的第一个值

来自分类Dev

preg_match_all仅返回索引为0的第一个数组,而不返回索引为1的第一个数组

来自分类Dev

Bash数组仅执行第一个索引

来自分类Dev

foreach中的数组仅显示第一个数组

来自分类Dev

PHP:循环获取第一个数组

来自分类Dev

如何停止循环以仅获取第一个数组的内容?

来自分类Dev

PHP 数组中值出现的第一个和最后一个索引

来自分类Dev

使用 map 返回多维数组中的第一个索引

来自分类Dev

PowerShell foreach() 基于第一个元素的多维数组

来自分类Dev

PHP foreach 数组只返回第一个字符

来自分类Dev

为什么我的 jQuery show() 函数在 php foreach 循环中仅适用于第一个元素

来自分类Dev

基于第一个索引循环遍历数组

Related 相关文章

  1. 1

    到达数组中的最后一个索引后返回第一个索引

  2. 2

    使用PHP获取多维数组中的第一个键

  3. 3

    PHP-计算多维数组中第一个元素中的唯一值

  4. 4

    Java多维数组-为什么仅定义第一个大小就足够了?

  5. 5

    多维数组的ActionListener仅适用于第一个按钮吗?

  6. 6

    PHP for循环在for循环内仅产生第一个结果

  7. 7

    Laravel WhereIn数组仅返回第一个索引结果

  8. 8

    使用逻辑索引时,大熊猫仅应用返回第一个值

  9. 9

    生成列表,但仅显示第一个索引

  10. 10

    Flutter:用于验证的for循环仅读取第一个索引,而不是所有索引

  11. 11

    PHP-Foreach循环仅回显字符串的第一个字母

  12. 12

    读取多维数组仅打印子数组的第一个字符

  13. 13

    多维数组的ActionListener仅适用于第一个按钮吗?

  14. 14

    自动用元素列表循环填充数组,仅设置第一个元素

  15. 15

    遍历2个数组仅循环第一个元素

  16. 16

    数组函数仅返回第一个值

  17. 17

    第一个元素的PHP foreach循环问题

  18. 18

    在foreach中创建数组,键为循环中的第一个值

  19. 19

    preg_match_all仅返回索引为0的第一个数组,而不返回索引为1的第一个数组

  20. 20

    Bash数组仅执行第一个索引

  21. 21

    foreach中的数组仅显示第一个数组

  22. 22

    PHP:循环获取第一个数组

  23. 23

    如何停止循环以仅获取第一个数组的内容?

  24. 24

    PHP 数组中值出现的第一个和最后一个索引

  25. 25

    使用 map 返回多维数组中的第一个索引

  26. 26

    PowerShell foreach() 基于第一个元素的多维数组

  27. 27

    PHP foreach 数组只返回第一个字符

  28. 28

    为什么我的 jQuery show() 函数在 php foreach 循环中仅适用于第一个元素

  29. 29

    基于第一个索引循环遍历数组

热门标签

归档