如何在php中更改数组索引

时间:2015-08-18 06:07:53

标签: php arrays

我正在开发一个插件。在插件中上传多个图像并将它们保存在数据库中的数组中。在以前的版本中,当我将它们保存在数据库中时,我使用[1][2][3]...开始索引。

Array
(
    [1] => Array
        (
            [big_img] => site_url/wp-content/uploads/2015/07/Wallpaper_122-big-500x400.jpg
        )

    [2] => Array
        (
            [big_img] => site_url/wp-content/uploads/2015/07/Wallpaper_121-big-500x400.jpg
        )

    [3] => Array
        (
            [big_img] => site_url/wp-content/uploads/2015/07/Wallpaper_123-big-500x400.jpg
        )

)

但是在新版本中我更改它并从[0][1][2]...开始,它会成功保存。

Array
(
    [0] => Array
        (
            [big_img] => site_url/wp-content/uploads/2015/07/Wallpaper_122-big-500x400.jpg
        )

    [1] => Array
        (
            [big_img] => site_url/wp-content/uploads/2015/07/Wallpaper_121-big-500x400.jpg
        )

    [2] => Array
        (
            [big_img] => site_url/wp-content/uploads/2015/07/Wallpaper_123-big-500x400.jpg
        )

)

问题是当用户升级我的插件并转到单页[0]索引图像未命中时,它从[1]索引开始。

这是我的循环代码。

<?php
     $count = 0;
     foreach ($thumb_images as $imgs) {
?>
        <li>
           <img src="<?php echo $imgs['thumb_img']; ?>" alt="" data-resize="<?php echo $big_images[$count]['big_img']; ?>" />
        </li>
<?php
     $count++;
     }
?>

现在我只想更改索引而不是循环。我不知道如何将索引从[1] [2] [3] ...改为[0] [1] [2] ......

那我怎么能这样做呢。

1 个答案:

答案 0 :(得分:2)

您可以使用以下解决方案:

// big_images the array consisting list of images
foreach($big_images as $k=>$v){
   $big_images[$k-1] = $v;
}
//removing last element from the array
unset($big_images[count($big_images)];