【问题标题】:PHP Foreach in Foreach with if statementForeach 中的 PHP Foreach 与 if 语句
【发布时间】:2017-09-27 17:55:18
【问题描述】:

我正在写一个网页,但我卡住了。 PHP 不是我选择的语言,所以我不太习惯它。但是让我们看看问题:

$i = 1;
$n = 0;
<div class="hs_client_logo_slider">
<?php
foreach ($hashone_client_logo_image as $hashone_client_logo_image_single) {
  foreach ($hashone_logo_list as $hashone_logo_url) {       
    if ($i > $n) {
      ?>
      <a target="_blank" href="<?php echo esc_url($hashone_logo_url) ?>"> 
        <img alt="<?php _e('logo','hashone') ?>" src="<?php echo esc_url(wp_get_attachment_url($hashone_client_logo_image_single)); ?>">
      </a>
      <?php
      $n = $n + 1;
      continue 2;
    } else {
        $i = $i + 1;
        continue 1;

基本上我正在尝试做:

Foreach (x as y) && Foreach (a as b) {
  /* Magic happens here */

在第一个 foreach 中我有图像,在第二个中我有链接。对于第一个图像,我需要存储在 logo_list 中的第一个链接,对于第二个图像,我需要第二个链接,依此类推......所以我尝试了可以​​处理它的 If 语句,但由于某种原因它不起作用。

现在它给了我第一个链接的第一张图片,但之后的每张图片都被第二个链接卡住了。你知道该怎么做吗?

我为所有试图帮助我的人感到高兴。非常感谢。

【问题讨论】:

    标签: php image if-statement foreach hyperlink


    【解决方案1】:

    尝试不同的方法。首先,在将数据传递给负责生成视图的 foreach 循环之前准备好数据,这样您的 foreach 循环将更易于阅读和维护。

    如果每个第一个元素都应该与第二个 foreach 中的第一个元素一起使用,第二个到第二个,第三个到第三个等等,那么使用两个 foreach 循环是多余的。仅使用 1 个 foreach 并且在每次 foreach 迭代中获取它的索引(它可以是一个单独的递增变量)并按索引从第二个数组中获取元素。你也可以使用标准的 for 循环,它应该更容易实现。

    【讨论】:

    • 好吧,我很愚蠢。我已经尝试过不同的方法来做到这一点。按索引是我最初的想法之一,但它对我不起作用。现在我使用它并且一切正常。由于我主要在 python 中工作,所以我不习惯在每行后面加上分号,所以我想就是这样。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    相关资源
    最近更新 更多