为什么urlencode和urldecode不起作用?

nic*_*cks 2 php url get

这是我正在使用的代码:

$from=urldecode($_GET['from']);
$str =urldecode("%2B");
echo "$str<br>";
echo "$from<br>";
Run Code Online (Sandbox Code Playgroud)

这是URL的一部分: from=%2B995594262653

为什么会这样

+
 995594262653
Run Code Online (Sandbox Code Playgroud)

?(注意,号码前面有一个空格).我$str用来检查功能是否有效.显然,它适用于简单%2B.可能是什么问题?

Pau*_*xon 5

它正在工作,但您需要意识到PHP会自动对其放入$ _GET数组中的数据进行urldecode.你是第二次这样做,并进一步改变输入.

当您的脚本运行时,$_GET['from']包含+995594262653

当您通过urldecode运行该值时,+会转换为空格.