1.判断方法是否存在
class Util {
function test() {
return 'ok';
}
}
if (method_exists('Util', 'test')) {
echo 'Util::test():' . Util::test();
} else {
echo 'Util::test() not exists';
}
输出:
Util::test():ok
函数method_exists的定义中第一个参数可以是个对象,也可以是字符串,此时可以传入类的名称直接判断方法是否存在。
bool method_exists ( mixed $object , string $method_name )
object
An object instance or a class name
method_name
The method name
2.关于变量值自增的问题
a.测试一
$loginFailedCount = 1;
$currentFailedCount = empty($loginFailedCount) ? 1 : $loginFailedCount++;
echo "currentFailedCount: $currentFailedCount, loginFailedCount: $loginFailedCount";
输出:
currentFailedCount: 1, loginFailedCount: 2
$a++, 返回 $a,然后将 $a 的值加一。同理$loginFailedCount++返回变量$loginFailedCount的值,然后将变量$loginFailedCount加1,所以变量$currentFailedCount的值为1,$loginFailedCount的值为2
b.测试二
$loginFailedCount = 1;
$currentFailedCount = empty($loginFailedCount) ? 1 : $loginFailedCount += 1;
echo "currentFailedCount: $currentFailedCount";
输出:
currentFailedCount: 2
3.关于函数的定义与传值的问题
function testFunction($a = '') {
echo __FUNCTION__ . ' 测试定义函数时定义一个参数,调用时传多于一个参数: ' . $a;
}
testFunction(3, 4);
输出:
testFunction 测试定义函数时定义一个参数,调用时传多于一个参数: 3