【问题标题】:Convert a GET variable containing numbers range to string in PHP在 PHP 中将包含数字范围的 GET 变量转换为字符串
【发布时间】:2013-12-23 09:39:12
【问题描述】:

我有一个这种格式的 get 变量:0-1499。现在我需要将它转换为字符串,以便我可以分解变量。为此,我尝试将其转换为 string ,但没有得到任何输出。这是示例代码:

$mystring = $_GET['myvars']; //equals to 0-1499;
//$mystring = (string)$mystring;
$mystring = strval($mystring);
$mystring = explode("-",$mystring);
print_r($mystring);

上面的print_r() 显示了一个数组Array ( [0] => [1] => 1499 )。这意味着它会在转换为字符串之前计算$mystring。如何将0-1499 作为整个字符串发送到explode

【问题讨论】:

  • 我假设上面的代码通常会有一个$_GET[] 。您能否编辑代码以包含此内容?
  • 现在将所有代码替换为:var_dump($_GET['myvars']);并告诉我们输出是什么。
  • explode 的功能是将字符串拆分为一个字符,以便您的代码按预期工作(它将字符串在“-”上拆分为两半)。如果你想要整个字符串,只需删除爆炸线。你想从 print_r 得到什么结果?

标签: php arrays string function variables


【解决方案1】:

您需要报价,先生。

应该像这样工作正常。

$mystring = "0-1499";
$mystring = explode("-",$mystring);
print_r($mystring);

没有引号是数字/数学。

0 减去 1499 = 负 1499

【讨论】:

  • 我相信他用 0-1499 替换了 $_GET[] 值,就好像 0-1499 在 URL 请求中一样。
  • @Josh 你是对的,$mystring 是一个 GET 变量 @Lenny 我不能添加 "" 到它
  • 那么你在 get val 中什么也得不到。执行以下操作... var_dump($_GET) 看看你得到了什么。
  • $_GET 行是什么。也许这就是错误所在?我在上面发布的代码应该可以按原样运行,它是非常简单的代码,所以我确信错误在您的输入中。
【解决方案2】:

Explode 用于字符串。http://php.net/explode

<?php
$mystring = "0-1499";
$a=explode("-",$mystring);
echo $a[0];
echo "<br>";
echo $a[1];

?>

看到它在这里工作http://3v4l.org/DEstD

【讨论】:

  • $mystring = 0-1499 不是"0-1499"
  • @Nitish 你只能在字符串的情况下使用explode,所以无论如何你需要将你的输入转换为字符串。
【解决方案3】:

我有一个这种格式的变量:0-1499

当你从 URL 中获取这个变量时说..http://someurl.com/id=0-1499

$var = $_GET['id'];

这最终会转换成字符串,你不用担心。

插图

FYI : The above illustration used the code which you provided in the question. I didn't code anything extra.

【讨论】:

    【解决方案4】:

    正如您正确指出的那样,它将值视为算术并忽略 0- 部分。如果您知道您将获得的值是 0-n 对于某些 n,那么您需要做的就是:

    $mystring="0-".$n;
    $mystring=explode("0-", $mystring);
    

    但是explode 这里有点多余。所以,

    $myarr=array();
    $myarr[1]=strval($mystring);
    $myarr[0]="0";
    

    你去。

    【讨论】:

      猜你喜欢
      • 2021-02-22
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 2018-04-08
      • 2018-11-02
      • 1970-01-01
      相关资源
      最近更新 更多