如何从其他数组中获取 php foreach 值?

How to get in php foreach value from other array?

我在一个数组中获取图像然后我用 foreach 读取它这是图像,但是我怎样才能得到图像文本,我的例子在这里:

    $slideImages = array('image/path/image1', 'image/path/image2', 'image/path/image13');
    $slideText = array('image text 1', 'image text 2', 'image text 3');

    if($slideImages) :
        echo '<ul>';

        foreach($slideImages as $slideImage) :
?>
            <li>
                <div>IMAGE TEXT</div>
                <img src="<?php echo $slideImage; ?>" />
            </li>
<?php
        endforeach;

        echo '</ul>';

    endif;

我还需要从真实位置嵌入图像文本,我知道如何用 for 做到这一点,但这样做效率不高...可能是这样的吗?

假设键是相同的,在foreach中使用$key:

foreach($slideImages as $key => $slideImage) :
?>
            <li>
                <div>IMAGE TEXT</div>
                <img src="<?php echo $slideImage; ?>" />
                <?php echo $slideText[$key]; ?>
            </li>
<?php
endforeach;

简化示例:

 foreach($slideImages as $key=>$var){

echo $var;
echo $slideText[$key];
}

您还可以更改存储信息的方式,将它们保存在一个多维数组中。

$slides = array( 
    array( image => "image/path/image1", text => "image text 1"),
    array( image => "image/path/image2", text => "image text 2"),
    array( image => "image/path/image3", text => "image text 3")
);

然后您将遍历 $slides 数组并为每个幻灯片提取图像和文本:

foreach($slides as $slide)
{
            echo "Text:".$slide["text"];
            echo "Image Path:".$slide["image"];
}

这样可以更好地组织您的代码,这样您就不会在两个数组不同步的情况下发生一些疯狂的事情。