加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php爆炸关联数组问题

发布时间:2020-12-13 21:41:12 所属栏目:PHP教程 来源:网络整理
导读:我有php脚本如下; $ages = array("Peter"=32,"Quagmire"=30,"Joe"=34);$ages2 = '"Peter"=32,"Joe"=34';$array = explode(",",$ages2);echo $array["Peter"];echo $ages["Peter"]; 在这种情况下,echo $ages [“Peter”];运作良好,但回声$array [“彼得”];不
我有php脚本如下;

$ages = array("Peter"=>32,"Quagmire"=>30,"Joe"=>34);

$ages2 = '"Peter"=>32,"Joe"=>34';

$array = explode(",",$ages2);

echo $array["Peter"];

echo $ages["Peter"];

在这种情况下,echo $ages [“Peter”];运作良好,但回声$array [“彼得”];不管用.任何人都可以解决这个问题..

提前致谢.

blasteralfred

解决方法

你必须分两步走:

>首先,使用’,’作为分隔符进行爆炸;获取诸如“Peter”=> 32之类的数据
>然后,对于每个值,使用’=>’进行爆炸作为分隔符,分割名称和年龄

>当然,删除名称周围的双引号.

例如,您可以使用以下内容:

$result = array();

$ages2 = '"Peter"=>32,"Joe"=>34';
foreach (explode(',',$ages2) as $couple) {
    list ($name,$age) = explode('=>',$couple);
    $name = trim($name,'"');
    $result[$name] = $age;
}

var_dump($result);

并且,转储数组,你会得到以下输出:

array
  'Peter' => string '32' (length=2)
  'Quagmire' => string '30' (length=2)
  'Joe' => string '34' (length=2)

这意味着使用这个:

echo $result['Peter'];

会得到你:

32

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读