【问题标题】:How can I explode at "," in php?我怎样才能在php中的“,”处爆炸?
【发布时间】:2016-08-19 12:56:11
【问题描述】:

我有一个javascript 数组,我用JSON.stringify() 对其进行编码,然后将它加入url。我用php$_GET对其进行解码。解码后我得到这样的字符串:

["a","\nb","\nc","\nd"]

现在我应该分解它并得到一个值 a、b、c 的 php 数组。

所以,我应该像这样做 sg: $array=explode("","\n",$values); 总而言之,我应该在 ","\ncharatrer 链上爆炸一个字符串,或者如果有人有更好的解决方案,我会应用它。

【问题讨论】:

  • ...explode(',', $string);
  • 使用explode()函数
  • 令人困惑..你想将 ["a","\nb","\nc","\nd"] 转换为 ['a', 'b', 'c' ] ??
  • 添加一个完整的示例。为什么数组中有'\n'个字符?
  • 我想将 ["a","\nb","\nc","\nd"] 转换为 $values[0]=a, $values[1]=b; $values[2]=c;

标签: javascript php arrays json


【解决方案1】:

试试

$arr =  ["a","\nb","\nc","\nd"] ;

foreach($arr as $str) {
    $str = str_replace('\n', '', $str);
}

var_dump($arr);

【讨论】:

  • 嗨 mishanon;您的代码可能是正确的,但在某些上下文中它会做出更好的答案;例如,您可以解释这个提议的更改如何以及为什么会解决提问者的问题,可能包括指向相关文档的链接。这将使它对他们更有用,对正在寻找类似问题的解决方案的其他网站读者也更有用。
【解决方案2】:

我的意思是看起来像这样:

$str = str_replace('[', '', $str);
$str = str_replace(']', '', $str);
$arr = explode(',', $str);
var_dump($arr);

【讨论】:

    【解决方案3】:
        $array=$_GET['values'];
    //its equals:["a","\nb","\nc","\nd"]
        $values=explode('["', $array);
        $values=explode('"]', $values[1]);
        $values=explode('","\n', $values[0]);
    

    【讨论】:

      【解决方案4】:

      如果您有表示数组的 JSON 字符串,请使用 json_decode(),然后清除数组元素中的换行符。

      $array = json_decode($_GET['values'], true);
      foreach ($array as $k=>$v)
          $array[$k] = trim($v);
      

      或者在 JavaScript 端,发送不带换行符的数据,只需使用 json_decode()

      【讨论】:

        猜你喜欢
        • 2015-12-02
        • 2021-12-25
        • 1970-01-01
        • 1970-01-01
        • 2012-05-10
        • 2016-02-27
        • 1970-01-01
        • 1970-01-01
        • 2020-10-26
        相关资源
        最近更新 更多