2010-07-02 128 views
0

我有一个数组这样的:PHP阵列操纵

[0] => Array 
    (
     [slideritem] => 592 
     [sliderbig] => 644 
    ) 

[1] => Array 
    (
     [slideritem] => 593 
     [sliderbig] => 645 
    ) 

[2] => Array 
    (
     [slideritem] => 594 
     [sliderbig] => 646 
    ) 

slideritem是将要显示的图像的ID和slidebig是将被链接上的收藏夹将被显示的图像。

换句话说,我想要标记是:

<a href="[sliderbig]"><img src="[slideritem]" /></a> 

我敢肯定这是一个简单的foreach语句,但我已经对我的12小时直屏幕:)

+0

你有什么问题吗? – 2010-07-02 21:20:54

+0

正在寻找将创建标记的foreach语句。 – tsiger 2010-07-02 21:21:38

+4

如果可以的话,休息一下(也许小睡一下),明天再回来。除了厨师,你已经准备好了所有的食材。 – salathe 2010-07-02 21:23:50

回答

0

前像这样?

foreach($theArray as $slider) { 
    printf('<a href="%d.png"><img src="%d.png" alt="sliderimage"/></a>', 
      $slider['sliderbig'], 
      $slider['slideritem']); 
} 

休息一下!

+0

你的意思是'printf()'? – 2010-07-02 21:22:15

+0

谢谢@Bill!当然。 – Gordon 2010-07-02 21:24:05

+1

yeap。那会做。嘿,太棒了。有一个很好的周末ppl和thx :) – tsiger 2010-07-02 21:34:42

1
foreach($array as $item) { 
    echo "<a href="{$item->sliderbig}"><img src="{$item->slideritem}" /></a>"; 
} 
+0

如果你想使用{notation},你需要转义内部引号,但它也会引发“试图获取非对象的属性”,因为$ item是一个数组。 – Gordon 2010-07-02 21:34:00

0
function test($accum, $a) { 
    return $accum . sprintf('<a href="url/to/%s">' . 
     '<img src="url/to/%s" /></a>'."\n", 
     htmlspecialchars($a['sliderbig']), 
     htmlspecialchars($a['sliderbigitem'])); 
} 

$output = array_reduce($array, 'test', '');