为了账号安全,请及时绑定邮箱和手机立即绑定

如何在php中将字符串转换为关联数组?

如何在php中将字符串转换为关联数组?

PHP
慕运维8079593 2022-01-02 17:19:22
我有一个带有以下格式的换行符和空格的字符串。<?php $str = 'Name: XXXXXXXXEmail: XXXX@sample.comCommunity: Test Community.';?>我想将此字符串转换为数组Array(   [Name] => XXXXXXXX   [Email]=> XXXX@sample.com   [Community] => Test Community.)我的尝试:$str = 'Name: XXXXXXXX Email: XXXX@sample.com Community: Test Community.';echo "<pre>";print_r(explode(":", $str)); exit; 
查看完整描述

3 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

首先使用模式拆分字符串\n+。然后使用在拆分字符串后得到的 array_reduce() 对数组进行迭代。在迭代的每个循环中,都将分解字符串 ane 准备。您期望的格式。


代码示例:


$str = 'Name: XXXXXXXX


Email: XXXX@sample.com


Community: Test Community.';


$elm = preg_split('/\n+/', $str);

$data = array_reduce($elm, function ($old, $new) {

    $key_value = explode(':', $new);

    $old[$key_value[0]] = $key_value[1];

    return $old;

}, []);


print_r($data);


查看完整回答
反对 回复 2022-01-02
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您可以array_filter与array_walk& 一起使用explode


$c = array_filter(explode('

', $str));

$r = [];

array_walk($c, function($v, $k) use (&$r){

  $arr = explode(':', $v);

  $r[$arr[0]] = $arr[1];

});

工作示例:https : //3v4l.org/fgKnE


查看完整回答
反对 回复 2022-01-02
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您可以将元素插入到一个数组中,然后将其推送到另一个数组中,如下所示:


$array = array();


$element = array("name"=>"xxxxx", "email"=>"xxx@sample.com", "community"=>"Test Comunity");

array_push($array, $element);


dump($array);die;


查看完整回答
反对 回复 2022-01-02
  • 3 回答
  • 0 关注
  • 296 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信