【问题标题】:Why is PHP removing leading leading zero from request parameter?为什么 PHP 从请求参数中删除前导零?
【发布时间】:2014-06-10 08:22:37
【问题描述】:

我是 php 的菜鸟,我不明白为什么我的字符串中的前导字符(零)在我通过 url 传递它后被删除。像这样:http://sample.com/Sample/employee_select.php?emp=03

当我使用 $_GET 获取值时,它返回 3 而不是 03。如何保留前导零?

这不是如何在 PHP 整数中保留前导零的副本。

我的代码

 <?php 
 $emp = $_GET['emp']; 
 $tdat = $_GET['tdt'];

 echo $emp; //returns "3" instead of "03"


?> 

【问题讨论】:

  • 是的,这是一个动态输入问题。
  • 因为php认为它是一个int,所以你想要字符串“03”
  • @Dagon 我如何让 php 知道它是一个字符串/
  • @DollaBill 您可以在重复的问题中检查接受的答案... :)
  • 标记的重复问题似乎根本没有回答这个问题。如果有,怎么做?如果我理解正确,这里的问题是不同的。

标签: php string casting integer


【解决方案1】:

我无法重现您的问题:

echo $_GET['test'];
// outputs 03

echo '<br />';

$temp = $_GET['test'];
echo $temp;
// outputs 03

我认为您的问题在其他地方。可能是您的 PHP 版本/配置、MOD 重写或您的代码中未在您的示例中提供的其他内容。

【讨论】:

  • 我遇到了与问题中所述相同的问题。
  • @saeedkhalafinejad PHP 是什么版本?
  • 第 5 版,虽然我通过将数字括在引号之间来解决它。也就是写 x='001' 而不是 x=001。
猜你喜欢
  • 1970-01-01
  • 2018-06-16
  • 2019-05-02
  • 1970-01-01
  • 2015-05-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多