为了账号安全,请及时绑定邮箱和手机立即绑定

数组参数--灵活的运用变量和数组之间的互相转化

标签:
PHP

创建对象或者是一个函数操作的时候,如果参数的数量超过4个以上,应该用一个数组或者对象来整合这些参数。例如,初始化对象参数的时候,可以用一个数组来处理,通过构造方法灵活地实现对象参数初始化

class Thing
{
    public $id; 
    public $name; 
    public $zone;
    public $publish_time
    public $smallimg_url;
    public $isRented;
    /**
     * ThingList constructor.
     * @param $tid 
     * @param $name
     * @param $zone
     * @param $publish_time
     * @param $smallimg_url
     * @param $isRented
     */
    public function __construct(array $option)
    {
        $this->tid = isset($option["id"])?$option["id"]:null;
        $this->name = isset($option["name"])?$option["name"]:null;
        $this->zone = isset($option["zone"])?$option["zone"]:null;
        $this->publish_time = isset($option["publish_time"])?$option["publish_time"]:null;
        $this->smallimg_url = isset($option["smallimg_url"])?$option["smallimg_url"]:null;
        $this->isRented = isset($option["isRented"])?$option["isRented"]:null;
    }

}

程序中可以合理利用 extract()函数 和 compact()函数 灵活的运用变量和数组之间的互相转化。

  • 构造时如果已经有了所需的参数变量,所需要的 array $option ,可以使用 compact()函数获得。
/**
@param `$id`
@param `$name`
@param `$zone`
@param `$publish_time`
@param `$smallimg_url`
@param `$isRented`
上述变量都存在且已赋值
**/

$info = compact('id','name','zone','publish_time','smallimg_url','isRented');
$thing = new Thing($info);

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
8343
获赞与收藏
253

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消