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

时间:2015-02-11 18:45:04

标签: php arrays

这似乎是一个微不足道的问题,但我不确定如何搜索这个?让我在原地解释我的问题......


我目前有这个面向对象的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;
    }

}


然后,我正在创建这些变形图像。

<?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']?>


任何人都可以帮我调整我的顶级attach_src函数来执行此操作吗?或者这可以不做?

提前致谢! X


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

1 个答案:

答案 0 :(得分:0)

由于您已经知道索引所引用的内容,因此您可以在返回结果之前重命名它们。看看答案: How to rename array keys in PHP?

相关问题