3 回答

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
Zend Engine使用寫(xiě)時(shí)復(fù)制,當(dāng)您自己使用引用時(shí),會(huì)產(chǎn)生一些額外的開(kāi)銷(xiāo)。但是,僅在撰寫(xiě)本文時(shí)才能找到此提及,并且手冊(cè)中的注釋包含其他鏈接。
(編輯)關(guān)于對(duì)象和引用的手冊(cè)頁(yè)包含有關(guān)對(duì)象變量與引用如何不同的更多信息。

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
我對(duì)此進(jìn)行了一些測(cè)試,因?yàn)槲也淮_定給出的答案。
我的結(jié)果表明,按引用傳遞大型數(shù)組或字符串的速度明顯更快。
這是我的結(jié)果: 基準(zhǔn)測(cè)試
Y軸(行程)是一個(gè)函數(shù)在一秒鐘內(nèi)可以調(diào)用多少次* 10
每個(gè)功能/變量重復(fù)測(cè)試8次
這是我使用的變量:
$large_array = array_fill(PHP_INT_MAX / 2, 1000, 'a');
$small_array = array('this', 'is', 'a', 'small', 'array');
$large_object = (object)$large_array;
$large_string = str_repeat('a', 100000);
$small_string = 'this is a small string';
$value = PHP_INT_MAX / 2;
這些是功能:
function pass_by_ref(&$var) {
}
function pass_by_val($var) {
}
- 3 回答
- 0 關(guān)注
- 714 瀏覽
添加回答
舉報(bào)