【问题标题】:How to convert string to PHP array? [duplicate]如何将字符串转换为 PHP 数组? [复制]
【发布时间】:2016-11-24 05:21:44
【问题描述】:

我有以下字符串

sender=48&destination=51&message=hi+good&sender=48&destination=49&message=good+boy

请帮我将其转换为 PHP 数组,如下所示

 array = array(
     'sender'=>48,
     'destination'=>51,
     'message'=>hi+good,
     'sender'=>48,
     'destination'=>49,
     'message'=>good+boy
 );

注意:它不是 PHP GET。

【问题讨论】:

  • 它不是 PHP GET。 @FastSnail 你提供的链接我失败了。
  • 一件事我在这里注意到相同的数组键不能进入单个数组。 e.g : sender,message,destination 2 次​​span>
  • 你的愿望输出会出错。你的数组应该像Array ( [0] => Array ( [sender] => 48 ) [1] => Array ( [destination] => 51 ) [2] => Array ( [message] => hi+good ) [3] => Array ( [sender] => 48 ) [4] => Array ( [destination] => 49 ) [5] => Array ( [message] => good+boy ) )
  • 到目前为止,您自己尝试过什么吗?
  • 我试过了。我很接近,但以下答案完成了。

标签: php arrays


【解决方案1】:

这应该可以正常工作,要解决这个问题,你只需要正确使用explode(),否则很容易。

给你:

$firstarr=explode('&',$yourstring);
$desiredarr=array();
foreach($firstarr as $pair)
{
    $exp_pair=explode('=',$pair);
    $desiredarr[$exp_pair[0]]=$exp_pair[1];
}

print_r($desiredarr);

【讨论】:

    【解决方案2】:

    如果它来自查询字符串,那么您可以使用$_REQUEST,否则您需要使用& 作为分隔符的explode() 字符串。然后对于explode() 生成的数组中的每个项目,您使用= 拆分并将其添加到最终数组
    或使用parse_str()

    【讨论】:

    • 如果我爆炸它就会出现Array([0]=sender=48 ..
    • 你怎么称呼explode()
    • $array = explode("&", $array);关键是 0、1 系列。
    猜你喜欢
    • 2015-08-17
    • 2015-10-23
    • 2012-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2012-08-07
    相关资源
    最近更新 更多