我花了 10 多个小时来找出调试我的 PHP 程序的错字。我预计 PHP 在使用未定义的变量时会产生错误。但是当它被用作方法中的对象时,它不会。有什么原因吗?
<?php
$oClass = new MyClass;
// $oCless->tihs('key', 'taht'); //<-- triggers the error: Notice: Undefined variable
$oClass->tihs('key', 'taht');
echo $oClass->arr['key'];
class MyClass {
public $arr = array('key' => 'foo');
function tihs($key, $value) {
$tihs->arr[$key] = $value; //<-- this does not cause an error message.
}
}
?>