gpt4 book ai didi

PHP函数array_replace(),为什么参数是按引用传递的?

转载 作者:可可西里 更新时间:2023-11-01 13:47:53 27 4
gpt4 key购买 nike

PHP.net 上 array_replace() 的函数签名表明数组将通过引用传递。以这种方式而不是按值进行操作的原因/好处是什么,因为要获得预期的结果,您必须将完成的数组返回给变量。需要说明的是,我能够在手册中重现结果,所以这不是关于如何使用此功能的问题。

这是来自 php.net 的函数签名和示例。

来源:http://ca3.php.net/manual/en/function.array-replace.php

函数签名:

array array_replace ( array &$array , array &$array1 [, array &$... ] )

示例代码:

$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");

$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);

上面的例子会输出:

Array
(
[0] => grape
[1] => banana
[2] => apple
[3] => raspberry
[4] => cherry
)

最佳答案

This function这叫php_array_merge_or_replace_wrapper这叫zend_hash_merge依次调用 _zend_hash_merge等等等等等等导致潜在的memcmp()这可能是数组通过引用传递到 PHP 的 array_replace() 的最终原因(因为 memcmp() 要求它们是)。

数组是 PHP 的一个方面,它似乎可以正常工作并且很少受到质疑,在进行一些深入研究后,我大概明白了原因。

关于PHP函数array_replace(),为什么参数是按引用传递的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11157465/

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