いくつかの理由で、私たちのホスティング会社はPHP 5.2を使用しており、mysqliとPDOもプリインストールされていません。
コードの一部を書き直して5.2互換にするしかない。
だから、ここに私の質問があります:
PHP 5.2では無名関数がサポートされていないため、コードを正しく変更していることを確認するために次のテストを実行しました。
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();
しかし、上記は私に与えるでしょう:
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 ....
正しい方法は何ですか:
array_map('mapKeyValue', $arr, $arr2);
クラス内?
PS:ホスティング会社はPHP 5.2を使用しているので、変更するのに十分な理由ですか?(残り約7か月の契約を結んでいます)