由于某些原因,我们的托管公司使用的是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个月的合同)