what does the symbol : mean in php?
<p>I used <code>print_r</code> on some variables of a framework to figure out their contents and what i saw was like this </p>

<pre><code>Array (
   [pages:navigation] =&gt; Navigation
   [pages:via] =&gt; via pages
   [item:object:page_top] =&gt; Top-level pages
)
</code></pre>

<p>I thought this was ok because i can create arrays like </p>

<pre><code>$ar=array('pages:navigation' =&gt; 'Navigation',
           'pages:via' =&gt; 'via pages');
</code></pre>

<p>and it would be no problem but when i create this</p>

<pre><code>class student {
   public $name;
   public function get_name()  {
      return $name;
   }
   private $id;
   public function get_id() {
      return $id;
   }
   protected $email;
}

$s = new student();
$s-&gt;name="hi";
print_r($s);
</code></pre>

<p>I get this:</p>

<pre><code>student Object ( [name] =&gt; hi [id:student:private] =&gt; [email:protected] =&gt; )
</code></pre>

<p>here the symbol <code>:</code> is automatically inserted for <code>id</code> indicating that it is a member of <code>student</code> and is <code>private</code> but it is not inserted for <code>public</code> member <code>name</code></p>

<p>I cant figure out what does the symbol <code>:</code> actually mean? Is it some kind of namespacing?</p>
