重命名面向对象函数中的PHP数组键


Rename PHP array keys in object oriented functions

这似乎是一个微不足道的问题,但我不确定如何搜索它?让我当场解释一下我的问题。。。


我现在有这个面向对象的php函数。。。

class Gallery extends Methods {
    /**
     * Output image attachment source
     * @return void
    */
    public function img_src ($image_id,$size) {
        $attachment_src = wp_get_attachment_image_src( $image_id, $size );
        return $attachment_src;
    }
}


然后我为我的图像创建这些vars。。

<?php
  $img['thumbnail'] = Gallery::img_src( $image->ID, 'thumbnail' );
  $img['medium']    = Gallery::img_src( $image->ID, 'medium'    );
  $img['large']     = Gallery::img_src( $image->ID, 'large'     );
  $img['full-size'] = Gallery::img_src( $image->ID, 'full-size' );
  exit( '<pre>' . print_r( $img['full-size'], true ));
?>


退出上面的pre-print_r调用,请参阅下面的输出。。。

Array
(
    [0] => http://example.com/wp-content/uploads/2015/02/jorge-hernandez-farguell_0067.jpg
    [1] => 5760
    [2] => 3840
    [3] => 
)


所以目前,如果我想输出数组键1的宽度,我必须这样做。。。

$img['full-size'][1];
$img['full-size'][2];
$img['full-size'][3];


当前上面的数组键结构令人困惑,因为整数键没有任何意义。所以我的百万美元问题是…我能知道如何重命名我的数组键,使我的数组输出像这样。。。

Array
(
    [url] => http://example.com/wp-content/uploads/2015/02/jorge-hernandez-farguell_0067.jpg
    [width] => 5760
    [height] => 3840
    [3] => 
)


反过来,我希望能够输出这样的数据。。。

<?=$img['full-size']['url']?>
<?=$img['full-size']['width']?>
<?=$img['full-size']['height']?>


有人能帮我调整我的top attach_src函数吗?还是不能这样做?

提前感谢!x


http://codex.wordpress.org/Function_Reference/wp_get_attachment_image_src

由于您已经知道索引引用的是什么,所以您可以在返回结果之前对它们进行重命名。请访问以下网址查看答案:如何在PHP中重命名数组键?