2014-02-19 37 views
0

我正在構建一個圖庫應用程序,並且我一直在發現問題如果有方法,我可以在每個PHP數組值附近放置HTML在我的案例圖片中, 我相信如果我回應它,​​我會以文本的形式獲取這些值。我不想將任何選項的值作爲文本回顯?將HTML代碼應用到php數組的每個元素的方法

在此先感謝。

+0

你能爲我們提供一些代碼嗎? – Jake

回答

1

如果我理解正確下面可能會有一定的幫助,如果你想顯示在HTML中的圖像可以使用類似下面的內容。

$images = array(
    "1" => "image1.png", 
    "2" => "image2.jpeg", 
    "3" => "image3.gif" 
); 

foreach ($images as $key => $image) { 
    echo "<img src=\"{$image}\" alt=\"image {$key}\"/>"; 
} 

如果您想要將圖像放入HTML並放回數組中,您可以使用以下內容。

$images = array(
    "1" => "image1.png", 
    "2" => "image2.jpeg", 
    "3" => "image3.gif" 
); 

foreach ($images as $key => $val) { 
    $images[$key] = "<img src=\"{$val}\" alt=\"image {$key}\"/>"; 
} 
1

不知道這是否只是一個「編碼器塊」,但它非常簡單。獲取數組,迭代它,將每個數組元素的輸出包裝在一個div中並將其回顯給請求頁面。

foreach($array as $item): 
    echo '<div>', $item ,'</div>'; 
endforeach; 
1

選項1

你似乎是尋找array_walk

bool array_walk(array &$Input, callable $Fn [, mixed $extra = null ]) 

Applies the user-defined function Fn to 
each element of the array Input, optionally 
passing it the user-specified object $extra. 

這是纏繞兩個用戶指定的值之間的數組的每個元素的一個例子。

<?php 
    $arry = array(
     'pear', 
     'orange', 
     'banana', 
    ); 

    array_walk($arry, function(&$item, $key, $data) { 
     $item = $data['before'].$item.$data['after']; 
    }, array(
     'before' => 'this is a ', 
     'after'  => ' squash.', 
    )); 

    print_r($arry); 

?> 

輸出:

Array 
(
    [0] => this is a pear squash. 
    [1] => this is a orange squash. 
    [2] => this is a banana squash. 
) 

選項2

另一個選項可以是,使用preg_replace_callback執行批量的每個元件上的替換。這允許更大的靈活性,無論是在指定什麼來替代,以及如何替換:

<?php 
    $arry = array(
     'pear squash', 
     'squishy orange', 
     'squoshed banana', 
    ); 

    // FIRST - wrap everything in double round brackets 

    $arry = preg_replace_callback('/^.*$/', function($matches){ 

     return "(($matches[0]))"; 

    }, $arry); 

    // SECOND - convert anything like "SQUASH" (but with whatever letter instead 
    // of the "A" - to "juice": 

    $arry = preg_replace_callback('/(.*)squ(.)sh(.*)/', function($matches){ 

     // $matches[2] contains the whatever letter. 
     return $matches[1].'juice'.$matches[3]; 

    }, $arry); 

    print_r($arry); 

現在返回

Array 
(
    [0] => ((pear juice)) 
    [1] => ((juicey orange)) 
    [2] => ((juiceed banana)) 
) 
相關問題