我有一个名为$ this的数组,为了查看它包含的内容,我使用了print_r(),它恰好包含了大量数据。我需要知道哪个变量产生“user_id”的值。它应该是$ this-> user_id之类的东西,但是由于它的文本很多,我无法弄清楚它。我会把它贴在这里给你看,但真的,它太多了。所以我只是粘贴一点提取物:
Am_Auth_User Object ( [idField:protected] => user_id [loginField:protected] => login [loginType:protected] => 0 [fromCookie:protected] => [userClass:protected] => User [plaintextPass:protected] => [session] => Zend_Session_Namespace Object ( [_namespace:protected] => amember_auth ) [user:protected] => [configPrefix:protected] => [protector:protected] => [di:protected] => Am_Di Object *RECURSION* ) [locale] => Am_Locale Object ( [locale:protected] => ja_JP ) [cacheBackend] => Zend_Cache_Backend_TwoLevels Object ( [_options:protected] => Array ( [slow_backend] => File [fast_backend] => Am_Cache_Backend_Array Object ( [_cache:protected] => Array ( [5dfbcb168a5b232b0ed52a1cb8cfb384] =>
是否有任何php函数允许我查看我可以使用$ this数组的所有变量?
编辑:我试过
print_r(array_keys($this));
和
foreach(array_keys($this) as $name) {
echo $name . "<br>";}
和
$a = array(1, 2, 3, 4, 5);
print_r(array_map($this,$a));
但他们都没有产生任何东西。 谢谢。
答案 0 :(得分:0)
尝试使用此替代print_r():
echo '<pre>'.print_r($your_variable, true).'</pre>';
这将使阅读更容易; (true参数将print_r结果作为字符串返回)
答案 1 :(得分:0)
$this
是调用它的任何类的别名。因此user_id
来自$this->user_id
,这只是$user_id
的别名。它通常是类顶部的null变量,即它必须由类创建。