gpt4 book ai didi

php - 在 PHP 数组中创建引用键

转载 作者:可可西里 更新时间:2023-10-31 23:30:56 26 4
gpt4 key购买 nike

目前,我的脚本创建引用键是这样的:

<?php
$arr = array(
'authority' => $this->object->authority,
'fragment' => $this->object->fragment,
'host' => $this->object->host,
'pass' => $this->object->pass,
'path' => $this->object->path,
'port' => $this->object->port,
'query' => $this->object->query,
'scheme' => $this->object->scheme,
'scheme_name' => $this->object->scheme_name,
'scheme_symbols' => $this->object->scheme_symbols,
'user' => $this->object->user,
);

$arr['domain'] = &$arr['host'];
$arr['fqdn'] = &$arr['host'];
$arr['password'] = &$arr['pass'];
$arr['protocol'] = &$arr['scheme'];
$arr['username'] = &$arr['user'];

ksort($arr);
return $arr;

我的问题是:是否有更好的方法来做到这一点,可能一次完成?

我知道下面的代码不起作用,但也许有人知道更好的方法?

<?php
$arr = array(
'a' => '1',
'b' => &$arr['a']
);

最佳答案

I need to recreate the array without making a reference to the original object

你应该使用 object cloning ,它是在 PHP5 中引入的。这将允许您使用当前值制作对象的副本,同时允许原始类维护对其他已存在变量的任何引用:

$arr = clone $this->object;

变量将作为类属性访问,而不是像您的示例中的数组键。如果这对你来说有问题,你可以使用类似 get_class_vars() 的东西返回您的类的属性数组。

关于php - 在 PHP 数组中创建引用键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24924193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com