【问题标题】:foreach value with key outside foreach [closed]foreach 值与 foreach 外部的键 [关闭]
【发布时间】:2019-01-16 08:33:56
【问题描述】:

我有几个 foreaches 总共显示了一些数字。

其中一个是这个:

foreach ($lijst['palen'] as $key => $valuepalen) 
{
    echo $valuepalen ."x Bekaclip palen (48mm / lengte " . $??? . " cm" . "\n"; 
}

然后有一个包含我需要的值:

foreach ($optellen as $key => $hoogtevalue) 
{

}

我需要的值是 $hoogtevalue,其中包含 100 和 110。 但是如果我在$??? 中插入$hoogtevalue,它只会显示最后提交的数字110。 我想这样展示它:

............ lente 是 100

....... lente 是 110

【问题讨论】:

  • 请提供您的数组的 print_r 结果,您的问题不清楚。
  • @AlirezaFallah 对不起,下次我会的
  • 这两个数组有什么关系?你能说得更具体点吗?
  • $optellen 里面是什么?
  • @AlirezaFallah inside $optellen: Array ([1] => 100 [3] => 110)

标签: php arrays foreach


【解决方案1】:

在我看来,您试图将值从一个数组映射到另一个数组,通过它们在数组中的位置,而不是通过它们现有的键。

您可以使用带有 null 作为第一个参数的 array_map 来创建一个由每个数组对组成的新数组。 (我在下面添加了一个映射数组的 print_r 来演示数据结构。)

然后你就可以循环遍历这些对了。

<?php
$one = [ 63 => 2, 123 => 2];
$two = [ 1 => 100, 3 => 110];

$pairs = array_map(null, $one, $two);
print_r($pairs);

foreach($pairs as $pair)
    printf("%d = %d\n", $pair[0], $pair[1]);

输出:

Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 100
        )

    [1] => Array
        (
            [0] => 2
            [1] => 110
        )

)
2 = 100
2 = 110

或者,您可以在两个数组上使用 array_values 函数来重新索引它们,然后使用键进行关联。

【讨论】:

    【解决方案2】:

    这将处理它:

    foreach ($lijst['palen'] as $valuepalen) {
        foreach ($optellen as $hoogtevalue) {
            echo $valuepalen."x Bekaclip palen (48mm / lengte ".$hoogtevalue".cm \n"; 
        }
    }
    

    【讨论】:

    • 第二个 $valuepalen 必须是 $hoogtevalue 但它只打印 100 而不是 100 和 110
    • 已编辑。这将为您打印 4 行,2:1002:1102:1002:110
    猜你喜欢
    • 1970-01-01
    • 2015-04-10
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2017-07-12
    • 2011-01-02
    • 2021-06-24
    • 1970-01-01
    相关资源
    最近更新 更多