为了账号安全,请及时绑定邮箱和手机立即绑定

如果满足单个条件,php将数组元素移到第一个

如果满足单个条件,php将数组元素移到第一个

PHP
汪汪一只猫 2022-01-14 16:44:19
我有一组图片网址。只有其中之一可以main_image。我需要把这个主图像放在数组的开头。这是我正在尝试的:$r_img_main = 'main_image.png';foreach ($r_images_arr as $r_image) {    $is_main = $r_image === $r_img_main ? true : false;    $img_class = $is_main ? 'main_img' : 'regular_img';    $img_html .= '<a href="' . $r_image . '" target="_blank"><img src="' . $r_image . '" height="70" width="70" class="'.$img_class.'"></a>';}我正在将这些图像渲染为 html。我需要main image首先渲染。
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您可以使用array-search找到主要的 img 位置并将其从原始数组中删除。之后,先渲染主 img,然后渲染数组的其余部分:


// find the position of the main img and render it

$pos = array_search('main_image.png', $r_images_arr); 

$img_html .= '<a href="main_image.png" target="_blank"><img src="main_image.png" height="70" width="70" class="main_img"></a>';


// remove the main ing from the array

unset($r_images_arr[$pos]);


// render all the rest after

foreach ($r_images_arr as $r_image) {

    $img_html .= '<a href="' . $r_image . '" target="_blank"><img src="' . $r_image . '" height="70" width="70" class="regular_img"></a>';

}


查看完整回答
反对 回复 2022-01-14
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

您可以使用array_search来查找主图像并使用取消设置数组元素。

用于array_unshift在第一个位置插入主图像


$a = ['1.png', '2.png', 'main.png', '4.png'];

$main = 'main.png';

unset($a[array_search($main, $a)]);

array_unshift($a,$main);

3.现在你已经有了主图,你可以使用foreach来渲染它


foreach($a as $k => $v){

   ($k == 0) ? (RENDER MAIN IMAGE) : 'RENDER REST IMAGES';

}


查看完整回答
反对 回复 2022-01-14
  • 2 回答
  • 0 关注
  • 406 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信