Behaviour of is_callable on '/'
<p>My colleague and I have encountered some rather odd behavour. Our environments are Ubuntu 11.10, PHP 5.3.6-13ubuntu3.6 with Suhosin-Patch, and Windows 7 PHP 5.3.5.</p>

<p>On our machines, the following code runs as one would expect:</p>

<pre><code>&lt;?php
function t() { }
var_dump(is_callable('/'));
</code></pre>

<p>With the output:</p>

<pre><code>bool(false)
</code></pre>

<p>On one of our servers, CentOS release 5.7 (Final), PHP 5.3.8, the same code produces:</p>

<pre><code>bool(true)
</code></pre>

<p>Without the <code>t()</code> function, <code>is_callable</code> performs as expected. Note that <code>is_function</code> behaves the same as <code>is_callable</code> in these tests.</p>

<p>Does anyone have any idea what could be causing this?</p>

<p><strong>Edit</strong>:</p>

<p>It seems to only happen when a function named <code>t</code> is present, anything else, like <code>b</code>, <code>c</code> etc, and the output is as expected.</p>

<p><strong>Edit - testing with more characters</strong>:</p>

<pre><code>&lt;?php
function t() { }
foreach(str_split('/abcdefghijkmnopqrstuvwxyz023456789ABCDEFGHIJKLMNOPQRSTUVXYZ!@#$%^&amp;*()-_+=`~;:[]{}\\|\'"?.&gt;,&lt;') as $character) {
    if (is_callable($character)) var_dump($character, is_callable($character));
}
</code></pre>

<p>Outputs the following on the server:</p>

<pre><code>string(1) "/"
bool(true)
string(1) "t"
bool(true)
string(1) "T"
bool(true)
string(1) "_" // gettext
bool(true)
string(1) ":" // With the t() function undefined, this remains callable on the server
bool(true)
</code></pre>

<p>On our environments, the output is as expected:</p>

<pre><code>string(1) "t"
bool(true)
string(1) "T"
bool(true)
</code></pre>

<p><strong>Edit - more information on cbuckley's comment</strong>:</p>

<pre><code>&lt;?php 
ini_set('display_errors', 1);
error_reporting(E_ALL);
function t() { }
$v = '/'; $v();
</code></pre>

<p>Produces output: <code>Call to undefined function /()</code></p>
