PHP将对象属性作为方法参数传递


PHP passing object property as method parameter

你好!我在想为什么我不能使用

$myCar = get_path_from_letter($car->letter);

其中get_path_from_letter使用开关根据传递的字母返回字符串:

$car->get_path_from_letter = function($letter){
     $path = "";
switch($letter){
 case 'a':
$path = $car->A;
break;
case'b':
$path = $car->B;
break;
}
return $path;
};

如果有人能解释我哪里错了,或者提供一个指向哪个方向的指针,我将不胜感激!谢谢

通过使用在$car中通行:

$car->get_path_from_letter = function($letter) use ($car){
    $path = "";
    switch($letter){
        case 'a':
            $path = $car->A;
            break;
        case'b':
            $path = $car->B;
            break;
    }
    return $path;
};