Способ применения HTML-кода к каждому элементу массива php

0

Я создаю приложение галереи, и у меня возникли проблемы с поиском. Если есть способ, я могу поместить HTML вокруг каждого значения массива PHP. В моих изображениях изображений я считаю, что если я его повторю, я получу значения как текст, Я не хочу, чтобы эхо значения в тексте были какие-то параметры?

Заранее спасибо.

  • 0
    Не могли бы вы предоставить нам некоторый код?
Теги:
arrays
foreach

3 ответа

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

Опция 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))
)
1

Не уверен, что это всего лишь "блок кодировщиков", но это очень просто. захватить массив, перебрать его, обернуть вывод каждого элемента массива в div и вернуть его обратно на запрашивающую страницу.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню