Ich habe die folgenden Verfahren in einem SingletonklasseWie eine Objektmethode als Callback-Funktion verwenden
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 '';
}
}
dies als eine gewöhnliche Funktion
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 '';
}
}
funktioniert gut, wenn ich in einer Klasse mit‘ m erhalten die unten Fehler:
PHP Warning: array_map(): The first argument, '$this->rfc_encode', should be either NULL or a valid callback
Bitte könnte jemand helfen mir, dies zu beheben.
Danke Kumpel, es hat funktioniert. – Kaartz
Außerdem muss die Methode 'encode' [public] sein (http://php.net/manual/en/language.oop5.visibility.php). – Dejv
@Dejv Eigentlich habe ich es mit einer ** privaten Klassenmethode ** getestet und es funktioniert entweder. Ich benutze PHP 7.0.13. – sentenza