gpt4 book ai didi

php - 通过引用传递还是重新分配?哪个更好/更有效率/等等?

转载 作者:行者123 更新时间:2023-11-29 13:19:39 25 4
gpt4 key购买 nike

最近我一直在使用 PHP 通过引用传递“&”运算符,然后通过丰富、删除或添加项目来修改数组,但不知道这是否是在 PHP 中使用数组进行操作的最佳方法,而不是重新分配它们:这是一个示例:

 function save_contract($contract_id){

$this->layout = 'json';
if(isset($contract_id)){
$contract_data = array(
'id' => (int)$contract_id,
'errors' => array(),
);

$this->_validate_post_data(&$contract_data);


}

-或者 - 这样做是否更好:

 function save_contract($contract_id){

$this->layout = 'json';
if(isset($contract_id)){
$contract_data = array(
'id' => (int)$contract_id,
'errors' => array(),
);

$contract_data = $this->_validate_post_data($contract_data);

}

最佳答案

如果您不更改数组,则这两个操作是相同的。如果您要进行更改,则通过引用传递会更有效,因为它不必复制数组。

也就是说,引用传递应该由函数签名来处理,即:

private function _validate_post_data(&$data) {
// do stuff
}

不这样做将导致严格标准错误。

关于php - 通过引用传递还是重新分配?哪个更好/更有效率/等等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21032436/

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