PHP在数组中查找变量

时间:2014-04-03 03:08:13

标签: php arrays

我有一个名为$ 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));

但他们都没有产生任何东西。 谢谢。

2 个答案:

答案 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变量,即它必须由类创建。