【问题标题】:Unset first element of array that don't know first item's key value取消设置不知道第一项键值的数组的第一个元素
【发布时间】:2017-09-15 03:36:33
【问题描述】:

我正在使用foreach 获取图像列表,但我不想显示数组的第一张图像,但我不知道如何使它工作。这是我的代码:

$portfolio_gallery_image = get_post_meta( get_the_ID(), "portfolio_gallery_image", true );

<div class="folio-gallery grid-masonry clearfix">
    <?php
    foreach ( $portfolio_gallery_image as $key => $image ){
    ?>
        <a class="folio-item col-3 ndSvgFill grid-item" href="<?php echo esc_url($image) ?>">
            <img src="<?php echo esc_attr($image) ?>" alt="portfolio">
        </a>
    <?php } ?>
</div>

这是数组

Array
(
    [2098] => http://dione.thememove.com/wp-content/uploads/2016/04/11.jpg
    [2097] => http://dione.thememove.com/wp-content/uploads/2016/04/10.jpg
    [2062] => http://dione.thememove.com/wp-content/uploads/2016/06/f_08.jpg
    [2084] => http://dione.thememove.com/wp-content/uploads/2016/06/10.jpg
    [2096] => http://dione.thememove.com/wp-content/uploads/2016/04/9.jpg
    [2082] => http://dione.thememove.com/wp-content/uploads/2016/06/08.jpg
    [2094] => http://dione.thememove.com/wp-content/uploads/2016/04/7.jpg
)

非常感谢您的帮助。谢谢。

【问题讨论】:

  • 然后代替 foreach 使用 for 循环
  • 你能在你的问题中打印你的数组吗?
  • 要从数组中删除第一个元素,请参考here
  • 要从数组中删除第一个元素,请参考here
  • refer 删除数组中的第一个元素

标签: php arrays wordpress


【解决方案1】:

你可以这样做,

<?php

function custom_function(&$arr)
{
    list($k) = array_keys($arr);
    $r = array($k => $arr[$k]);
    unset($arr[$k]);
    return $r;
}
custom_function($portfolio_gallery_image);
foreach ($portfolio_gallery_image as $key => $image) {

    ?>
    <a class="folio-item col-3 ndSvgFill grid-item" href="<?php echo esc_url($image) ?>">
        <img src="<?php echo esc_attr($image) ?>" alt="portfolio">
    </a>
<?php } ?>

array_shift 将一个元素移出数组的开头。

【讨论】:

  • 谢谢。我收到了这个错误:Warning: Invalid argument supplied for foreach()
  • 如果你的数组像例如[a,b,c,d] 然后 array_shift 将跳过 a 然后数组将具有 [b,c,d] 这就是它的工作原理。我可以知道你的数组是什么样子,直到 n 除非我不知道你的数组的操作
【解决方案2】:

尝试下面的代码,在代码中的每个之前从数组中删除第一个键/值。

$new_image_array = array_shift($portfolio_gallery_image);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2010-12-27
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 1970-01-01
    相关资源
    最近更新 更多