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

我有一组图片网址。


只有其中之一可以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首先渲染。


汪汪一只猫
浏览 407回答 2
2回答

慕侠2389804

您可以使用array-search找到主要的 img 位置并将其从原始数组中删除。之后,先渲染主 img,然后渲染数组的其余部分:// find the position of the main img and render it$pos = array_search('main_image.png', $r_images_arr);&nbsp;$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 arrayunset($r_images_arr[$pos]);// render all the rest afterforeach ($r_images_arr as $r_image) {&nbsp; &nbsp; $img_html .= '<a href="' . $r_image . '" target="_blank"><img src="' . $r_image . '" height="70" width="70" class="regular_img"></a>';}

蝴蝶刀刀

您可以使用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){&nbsp; &nbsp;($k == 0) ? (RENDER MAIN IMAGE) : 'RENDER REST IMAGES';}
打开App,查看更多内容
随时随地看视频慕课网APP