我在单件类中有以下方法
private function encode($inp)
{
if (is_array($inp) {
return array_map('$this->encode', $inp);
} else if is_scalar($inp) {
return str_replace('%7E', rawurlencode($inp));
} else {
return '';
}
}
这可以作为一个普通的功能
function encode($inp)
{
if (is_array($inp) {
return array_map('encode', $inp);
} else if is_scalar($inp) {
return str_replace('%7E', rawurlencode($inp));
} else {
return '';
}
}
在课堂内使用时,我收到以下错误:
PHP警告:array_map():第一个 参数,'$ this-> rfc_encode',应该 是NULL还是有效的回调
请有人帮我解决这个问题。
答案 0 :(得分:22)
实例化对象的方法作为包含索引0处的对象和索引1处的方法名称的数组传递。
所以试试
return array_map(array($this, 'encode'), $inp);
答案 1 :(得分:-4)
从 $ this->编码发布单个代码。
> private function encode($inp) {
> if (is_array($inp) {
> return array_map($this->encode, $inp);
> } else if is_scalar($inp) {
> return str_replace('%7E', rawurlencode($inp));
> } else {
> return '';
> } }
希望能解决这个问题。