【问题标题】:Array and Using Array Combine in Php数组和在 PHP 中使用数组组合
【发布时间】:2013-02-15 02:35:06
【问题描述】:

我有两个完整的数组,每个数组大约有 10 个值。我已经组合了这些数组并通过这行代码显示它们。

foreach(array_combine($hpictures, $highschools) as $pictures => $hschool)

并将它们回显为 css 格式。

数组的组合和代码完美地工作,唯一的问题是,由于某种原因,它只显示数组中的值,而不是显示所有 10。我想知道 foreach 或 array_combine 是否是这。

编辑:

       if(!empty($highschools)){
               echo "<h3>High School Division</h3>";
               echo "<ul>";
                foreach(array_combine($hpictures, $highschools) as $pictures => $hschool){
                        echo "<li><img src='$pictures'/><a href='./schoolpage.php?school=$hschool'><strong>$hschool</strong></a></li>";
                    }



               echo "</ul>";
               }

感谢您的帮助,希望这对其他人也有帮助。

【问题讨论】:

  • 你能发布更多代码吗?示例数组以及如何输出值?
  • print_r(array_combine($hpictures, $highschools));开头
  • 您确定不想要 array_merge() 代替吗? array_combine() 假设你有一个键数组和一个值数组
  • 我进行了编辑并添加了更多代码。 @dagon 我做到了,它显示当数组组合时只有三个值,但单独有 10 个。谢谢

标签: php arrays loops foreach


【解决方案1】:

在不知道数据结构的情况下,我只能假设您可能需要 array_merge() 而不是 array_combine()

foreach(array_merge($hpictures, $highschools) as $pictures => $hschool)

对于复杂的数组结构,试试 array_merge_recursive()

foreach(array_merge_recursive($hpictures, $highschools) as $pictures => $hschool)

区别

array_combine(array('dog','cat'),array('fred','felix'))

将创建一个数组,如:

array('dog'=>'fred','cat'=>'felix')

在哪里

array_merge(array('dog','cat'),array('fred','felix'))

会产生

array('dog','cat','fred','felix');

【讨论】:

  • 我尝试了数组合并,但效果很好,但将图片和文本分别显示为一个列表项。我应该合并它们,然后它们通过 foreach 循环运行吗?
  • 我认为我们确实需要查看数组的结构才能更好地理解问题。它甚至可能需要通过两个数组进行手动迭代和赋值。
  • array_merge 有效。您能否快速解释一下差异,以便我更好地理解?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
相关资源
最近更新 更多