Php 与x27之间的差异;is#u数组';和'\is#u数组';

Php 与x27之间的差异;is#u数组';和'\is#u数组';,php,Php,这两个条件给出了相同的结果。但是,到底有什么区别呢?当您使用名称空间时,您可以覆盖名称空间中的本地函数,当您使用\时,您正在调用全局函数 你可以阅读更多关于 这是从php.net中提取的一个小示例: if(is_arrray($arr) { //code... } if(\is_array($arr) { //code.. } +1:我不知道PHP有,也不关心使用名称空间。但是肯定有一条有用的信息可以明确地回答这个问题。@Derija93名称空间非常重要:歧义通常不

这两个条件给出了相同的结果。但是,到底有什么区别呢?

当您使用名称空间时,您可以覆盖名称空间中的本地函数,当您使用\时,您正在调用全局函数

你可以阅读更多关于

这是从php.net中提取的一个小示例:

if(is_arrray($arr)
{
    //code...
}

 if(\is_array($arr)
 {
     //code..
 }


+1:我不知道PHP有,也不关心使用名称空间。但是肯定有一条有用的信息可以明确地回答这个问题。@Derija93名称空间非常重要:歧义通常不是我关心的问题,因为我更关注客户端脚本。每当我编写PHP时,它都与定义环境中的高度特定的任务紧密相连,并且代码通常不共享。因此,如果在这三个函数前面加前缀同样有效,为什么还要使用名称空间呢?
\is\u array
说得很对:给我带来位于全局名称空间中的
is\u array
函数。而
\Eldhose\is\u数组
可能是在
Eldhose
命名空间下创建的另一个函数。
<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
    return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // prints "45"
echo INI_ALL, "\n"; // prints "7" - falls back to global INI_ALL

echo strlen('hi'), "\n"; // prints "1"
if (is_array('hi')) { // prints "is not array"
    echo "is array\n";
} else {
    echo "is not array\n";
}
?>