无法通过foreach循环显示结果

时间:2019-02-28 09:56:19

标签: php for-loop foreach

我有一个数组,名称为$ img_arr,它显示以下记录。我想显示带有其相关ID的图像。所以我有以下数组。但无法实施。

Array(
[0] 1
[1] 2
[2] 3
[3] 4
)
Array(
[0] adsense-approval.png
[1] feedback.jpg
[2] logo1.jpg
[3] logo2.png
)

我的代码如下。在id和data-id中,我想获取数组结果0,1,2 ..

<?php 
    if(isset($img_arr) && !empty($img_arr)){ 
        foreach($img_arr as $img){ ?>

    <div class="img-wrap" id="img_<?php echo $img;?>">
        <span class="close">&times;</span>
        <img src="./gallery/<?php echo $img ?>" class="img-circle" style="height:50px; width:50px;" data-id="<?php echo $img ?>">
    </div>
<?php 
    } 
}
?>

3 个答案:

答案 0 :(得分:2)

您可以使用HTML代码来尝试这种方式:     

$idArray = array(1, 2, 3, 4);
$imageArray = array('adsense-approval.png', 'feedback.jpg', 'logo1.jpg', 'logo2.png');

foreach($idArray as $key => $value) 
{
    echo $value;
    echo $imageArray[$key];
}
?>

如果我们将代码与您的HTML合并,则如下所示

<?php 
    if(is_array($imageArray))
    { 
        foreach($imageArray as $key => $img)
        { ?>
            <div class="img-wrap" id="img_<?php echo $img;?>">
                <span class="close">&times;</span>
                <img src="./gallery/<?php echo $img ?>" class="img-circle" style="height:50px; width:50px;" data-id="<?php echo $idArray[$key] ?>">
            </div>
<?php 
    } 
}
?> 

基本上,您需要使用键值格式的Id array管理图像,因为您需要在$key中使用foreach变量

答案 1 :(得分:1)

foreach只能用于值或键值对。

仅值:

foreach ($array as $value) { // Where $value is array value
...

键值对:

foreach ($array as $key => $value) { // Where $key -> key & $value -> value
...

您需要在key的定义中添加foreach

工作代码:

<?php if(isset($img_arr) && !empty($img_arr)){ 
                  foreach($img_arr as $key => $img){ ?>
                <div class="img-wrap" id="img_<?php echo $key;?>">
                     <span class="close">&times;</span>
                            <?php echo $key;?> <img src="./gallery/<?php echo $img ?>" class="img-circle" style="height:50px; width:50px;" data-id="<?php echo $key ?>">
                        </div>
                  <?php } }?>

答案 2 :(得分:0)

您的图像路径错误,您必须输入“ ../gallery”而不是“ ./gallery”。

<?php 
    if(isset($img_arr) && !empty($img_arr)){ 
        foreach($img_arr as $img){ ?>

    <div class="img-wrap" id="img_<?php echo $img;?>">
        <span class="close">&times;</span>
        <img src="../gallery/<?php echo $img ?>" class="img-circle" style="height:50px; width:50px;" data-id="<?php echo $img ?>">
    </div>
<?php 
    } 
}
?>