PHP 数组元素未在引导程序中正确输入

PHP array elements not entering correctly in bootstrap

这些是我想插入到引导轮播中的图像链接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function display_slides() {
    $count = 10;
    $iter = 0;
    $image_links = ['https://i.imgur.com/9wHVhck.jpg', 'https://i.imgur.com/SpBfUZi.jpg', 'https://i.imgur.com/ZqoEU9o.jpg', 'https://i.imgur.com/n2JY9jj.jpg', 'https://i.imgur.com/yD5I5WH.jpg', 'https://i.imgur.com/JKNnuSE.jpg', 'https://i.imgur.com/YwAmPYu.jpg', 'https://i.imgur.com/T7NBjJm.jpg', 'https://i.imgur.com/ujJ3g1k.jpg'];
    while ($iter < $count) {
        if ($iter == 0) {
            $output .='

    <img class="d-block w-100" src="https://i.imgur.com/dCS4tQk.jpg" alt="Background Image">
   
       
            Header
            <p>Sample text</p>
       
   

'
;
        } else {
// print_r($image_links[$iter]);
            $output .='

    <img class="d-block w-100 src='
. $image_links[$iter] . ' alt="Background Image">
         
       
            Header
            <p>Sample text</p>
       
   

'
;
        }
        $iter ++;
    }
    return $output;
}

我想将 $image_links 中的链接输入到 img 标签的 src 中。第一张幻灯片(链接是硬编码的)有效,其余幻灯片无效。
链接到完整的 php 文件
我在这里做错了什么?


兄弟。您在 img 标签 class="d-block w-100

中缺少右引号

此代码将完美地为您工作..

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$image_links = ['https://i.imgur.com/9wHVhck.jpg', 'https://i.imgur.com/SpBfUZi.jpg', 'https://i.imgur.com/ZqoEU9o.jpg', 'https://i.imgur.com/n2JY9jj.jpg', 'https://i.imgur.com/yD5I5WH.jpg', 'https://i.imgur.com/JKNnuSE.jpg', 'https://i.imgur.com/YwAmPYu.jpg', 'https://i.imgur.com/T7NBjJm.jpg', 'https://i.imgur.com/ujJ3g1k.jpg'];

    for ($i=0; $i <count($image_links) ; $i++) {
        // echo $image_links[$i];exit;
        echo '
                <img class="d-block w-100" src="'
.$image_links[$i].'" alt="Background Image">
                     
                   
                        Header
                        <p>Sample text</p>
                   
               
            '
;
    }

我稍微清理了代码并使用了 foreach 循环而不是使用迭代器。我强烈建议在您想要访问数组时使用 foreach 循环,因为它通常更容易阅读。正如其他人所建议的那样,您的 class 属性中也缺少一个引号,该引号也已在下面修复。

使用像计数和迭代器这样的变量是不必要的,一旦进入多维数组就会变得难以阅读。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 function display_slides() {
    $image_links = ['https://i.imgur.com/9wHVhck.jpg', 'https://i.imgur.com/SpBfUZi.jpg', 'https://i.imgur.com/ZqoEU9o.jpg', 'https://i.imgur.com/n2JY9jj.jpg', 'https://i.imgur.com/yD5I5WH.jpg', 'https://i.imgur.com/JKNnuSE.jpg', 'https://i.imgur.com/YwAmPYu.jpg', 'https://i.imgur.com/T7NBjJm.jpg', 'https://i.imgur.com/ujJ3g1k.jpg'];
    $output .='
   
    <img class="d-block w-100" src="https://i.imgur.com/dCS4tQk.jpg" alt="Background Image">
   
   
    Header
    <p><center>[wp_ad_camp_3]</center></p><p>Sample text</p>
   
   
   
    '
;
     foreach ($image_links as $image ) {
         $output .='
         
         <img class="d-block w-100 src='
.$image.'" alt="Background Image">
         
         
         Header
         <p>Sample text</p>
         
         
         
        '
;
        }
    }
    return $output;

}


你好像忘记关闭 class 属性了。
你的代码

1
<img class="d-block w-100 src=' . $image_links[$iter] . ' alt="Background Image">

工作代码

1
<img class="d-block w-100" src="'.$image_links[$iter].'" alt="Background Image">

我因为有一些 HTML 语法错误,你没有为 src 提供引号 (")。它应该像下面

1
2
3
4
} else {
      $output .='
     
        <img style="border:1px solid #0f0" class="d-block w-100 src="'
.$image_links[$iter].'" alt="Background Image"> // note the quotes added on src=""

希望它清楚。

快乐编码。