2015-01-20 89 views
0

我得到一个数组中的图像,然后我用的foreach阅读这是图像,但我怎么也弄图片文字,我的例子是在这里:如何获得从其他数组的PHP 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; 

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

+0

使用第一个数组中的键匹配第二个 – 2015-01-20 20:54:26

+0

使用[SPL MultipleIterator](http://php.net/manual/en/class.multipleiterator.php) – 2015-01-20 20:55:20

回答

1

你也可以改变您存储信息的方式,让他们在一个多维数组。

$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") 
); 

然后,你将通过$幻灯片遍历数组,只是拉出来为每个图像和文字:

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

该组织你的代码更好一点,所以你不要的东西拉闸如果你的两个阵列失去同步,就会发生疯狂的事情。

3

假设密钥是相同的,在foreach使用$key

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

无需假设,代码表示密钥是一样的 – 2015-01-20 21:02:35

+0

是的,它也说'image/path/image1'和'image text 1',所以我认为它是示例代码。 – AbraCadaver 2015-01-20 21:07:14

0

简化例如:

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

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