Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在PHP中反转图像顺序_Php - Fatal编程技术网

尝试在PHP中反转图像顺序

尝试在PHP中反转图像顺序,php,Php,我正在尝试反转显示图像的顺序。我是一个PHP高手,我不知道该怎么做。我想我需要颠倒foreach显示的顺序,但我不完全确定如何做到这一点 <div class="yacht-view-right"> <?php if (count($tpl['gallery_arr']) > 0) { $is_open = false; foreach ($tpl['gallery_arr'] as $k => $v) { if ($k =

我正在尝试反转显示图像的顺序。我是一个PHP高手,我不知道该怎么做。我想我需要颠倒foreach显示的顺序,但我不完全确定如何做到这一点

<div class="yacht-view-right">
<?php
if (count($tpl['gallery_arr']) > 0)
{
    $is_open = false;
    foreach ($tpl['gallery_arr'] as $k => $v)
    {

        if ($k == 0) 
        {
            $size = getimagesize(BASE_PATH . $v['medium_path']);
            ?>
            <p><?php print_r(array_keys($v));
                 print_r(array_VALUES($v));
                 echo (count($tpl['gallery_arr'])) 
                 ?></p>
<div class="yacht-view-pic" id="yacht-view-pic" style="width:<?php echo $size[0]; ?>px; height: <?php echo $size[1]; ?>px;"> 
<img id="yacht-view-medium-pic" src="<?php echo BASE_PATH . $v['medium_path']; ?>" alt="<?php echo htmlspecialchars(stripslashes($v['title'])); ?>"/> </a>
</div>
<?php
        }h

        $is_open = true;
        ?>
<div class="yacht-view-img">
<a href="<?php echo BASE_PATH . $v['large_path']; ?>" data-lightbox="yachts">
<img src="<?php echo BASE_PATH . $v['small_path']; ?>" alt="<?php echo htmlspecialchars(stripslashes($v['title'])); ?>" />
</a>
</div>


<?php
        /*if ($k > 0 && ($k + 1) % 4 === 0)
        {
            $is_open = false;
            ?><div class="clear_left"></div><?php
        }*/
    }

    if ($is_open)
    {
        ?>
<div class="clear_left"></div>
<?php
    }
} else {

}
?>

您只需在开始
foreach
迭代之前使用:

$is_open = false;
$tpl['gallery_arr'] = array_reverse( $tpl['gallery_arr'], true );
foreach ($tpl['gallery_arr'] as $k => $v)

在使用foreach对数组进行迭代之前,您可以简单地使用反转数组的顺序:

foreach ( array_reverse( $tpl['gallery_arr'] ) as $k => $v)
或者您可以使用计数器反向迭代(如果数组较大,计数器的性能可能会稍好一些):


因此,看起来您可以使用
array\u reverse()
函数

$tpl['gallery_arr'] = array_reverse( $tpl['gallery_arr'], true );
foreach ($tpl['gallery_arr'] as $k => $v){
...
}
或者使用带有反向参数的常规
for
循环

for($k = count($tpl['gallery_arr']) - 1; $k >= 0; $k--){
$v = $tpl['gallery_arr'][$k];
...
}
可能重复的
for($k = count($tpl['gallery_arr']) - 1; $k >= 0; $k--){
$v = $tpl['gallery_arr'][$k];
...
}