我有这个PHP函数,必须在给定的数组上执行一些处理:
processArray($arrayToProcess) {
$arrayToProcess['helloStackOverflow'] = TRUE;
}
稍后,代码将调用以下内容:
$niceArray = array('key' => 'value');
processArray($niceArray);
关键'helloStackOverflow'在processArray函数之外不可用。我试着打电话给以下人员:
processArray(&$niceArray);
使用“&”有帮助,但它会引发一些警告:
弃用功能:已弃用呼叫时间传递引用;如果您想通过引用传递它,请修改populateForm_withTextfields()的声明
试过&在那里,但这只是停止代码。
我该怎么做?
答案 0 :(得分:12)
您必须在函数中定义引用,而不是在对函数的调用中定义引用。
function processArray(&$arrayToProcess) {
答案 1 :(得分:8)
processArray(&$arrayToProcess) {
$arrayToProcess['helloStackOverflow'] = TRUE;
}
以PHP方式实现引用。
有关参考文献的有用信息,请参阅http://fi2.php.net/references。
答案 2 :(得分:5)
processArray(&$arrayToProcess) {
$arrayToProcess['helloStackOverflow'] = TRUE;
}
现在引用传递发生在函数声明中,而不是在调用函数时。
http://php.net/manual/en/language.references.pass.php
获取完整文档。