输出对象问题

时间:2013-08-15 02:31:08

标签: php

在一个脚本中,我使用var_dump()输出对象:

foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'][$this->extKey.'/'.$this->scriptRelPath] as $classRef) {
                $hookObj = t3lib_div::getUserObj($classRef);
                var_dump($hookObj);

结果是:

object(tx_job_dagoupost)#73 (3) { ["extKey"]=> string(3) "job" ["prefixId"]=> string(10) "tx_job_pi1" ["scriptRelPath"]=> string(32) "hooks/class.tx_job_dagoupost.php" } 
object(tx_christianvolunteer_dagoupost)#79 (2) { ["extKey"]=> string(19) "christian_volunteer" ["scriptRelPath"]=> string(47) "hooks/class.tx_christianvolunteer_dagoupost.php" } 
object(tx_watermark_dagoupost)#73 (2) { ["extKey"]=> string(9) "watermark" ["scriptRelPath"]=> string(38) "hooks/class.tx_watermark_dagoupost.php" }

问题:

  1. #73#79是什么意思?

  2. object(tx_job_dagoupost)#73object(tx_watermark_dagoupost)#73是不同的对象,但它们具有相同的ID #73,为什么?

1 个答案:

答案 0 :(得分:0)

  1. 正如解释here符号#是对象的PHP内部标识符。
  2. 不同对象的相同标识符表示您的第一个对象(tx_job_dagoupost)是瞬态的(未分配给任何变量或变量未设置),并且PHP对下一个对象使用相同的标识符。