-2
在过去的半个小时里,我一直在为此而疯狂,并且检查过不同的网站以尝试寻找解决方案,而每个人都在建议的是我所尝试的。PHP:数组是否自动传递给函数不可变?
我将一个数组传递给我的函数,以便将一些数据写回客户端,但是PHP总是抱怨不存在的密钥试图访问。这是好的,但默认情况下我想,如果你尝试未指定键设置的值,PHP会生成密钥,并将其添加到阵列:
if(!isset($data['payload']))
$data['payload'] = 'No data for this resource';
我能想到这样做的唯一原因不工作数组是不可变的,因此不能被追加到数组中。
private function _setResponse($data, $statusCode = 200)
{
header("HTTP/1.1 " . $statusCode . " " . $this->_getStatus($statusCode));
if(!isset($data['payload']))
$data['payload'] = 'No data for this resource';
// Set the response object
$response = array(
'response' => $statusCode . " : " . $this->_getStatus($statusCode),
'data' => $data['payload']
);
return json_encode($response);
}
你的功能是什么样的?它会生成一个键,传入的变量只有一个本地范围。 – jeroen
对不起,您追加到问题 – Alex
您确定这是您获取警告的地方吗?您应该检查(添加...)确切的错误消息,并查看它发生的位置,因为这不应该给您带来任何问题。 – jeroen