PHP-Callback-Funktion in der Klasse

Aus bestimmten Gründen verwendete unser Hosting-Unternehmen PHP 5.2 und hat nicht einmal mysqli und PDO vorinstalliert.

Ich habe keine andere Wahl, als einen Teil meines Codes neu zu schreiben, um ihn 5.2-kompatibel zu machen.

also hier ist meine frage:

In PHP 5.2 wird die anonyme Funktion nicht unterstützt, daher habe ich den folgenden Test durchgeführt, um sicherzustellen, dass ich den Code korrekt ändere:

class foo{

    public function toString(){
        $arr = array("a", "b");
        $arr2 = array("c", "d");
        print_r(array_map('mapKeyValue', $arr, $arr2));
    }

    private function mapKeyValue($v, $k){
        return $k."='".$v."'";
    }
}

$foo = new foo();
echo $foo->toString();

aber das obige würde mir geben:

Warning: array_map() expects parameter 1 to be a valid callback, function 'mapKeyValue' not found or invalid function name in ....
PHP Warning: array_map() expects parameter 1 to be a valid callback, function 'mapKeyValue' not found or invalid function name in ....

Was ist der richtige Weg zu tun:

array_map('mapKeyValue', $arr, $arr2);

innerhalb einer Klasse?

PS: Ist es ein guter Grund, das Hosting-Unternehmen zu wechseln, weil es PHP 5.2 verwendet? (Ich habe einen Vertrag mit einer Restlaufzeit von ca. 7 Monaten)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage