Я создаю приложение галереи, и у меня возникли проблемы с поиском. Если есть способ, я могу поместить HTML вокруг каждого значения массива PHP. В моих изображениях изображений я считаю, что если я его повторю, я получу значения как текст, Я не хочу, чтобы эхо значения в тексте были какие-то параметры?
Заранее спасибо.
Если я правильно понимаю, то может быть полезно следующее: если вы хотите отображать изображения в 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}\"/>";
}
Кажется, вы ищете 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.
)
Другим вариантом может быть использование 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))
)
Не уверен, что это всего лишь "блок кодировщиков", но это очень просто. захватить массив, перебрать его, обернуть вывод каждого элемента массива в div и вернуть его обратно на запрашивающую страницу.
foreach($array as $item):
echo '<div>', $item ,'</div>';
endforeach;