php - 求一个简化代码的思路

查看:88
本文介绍了php - 求一个简化代码的思路的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

{a:1,b:2,c:3} 一个类似这样的字符串。目的是输入a则返回1、输入b返回2.。以此类推。
自己写了一个代码,无奈看着太冗杂。
我的思路是把他写入一个数组。然后返回。求更简的代码,

<?php
/*
 *     array(a:1,b:2,c:3)   array("a"=>"1","b"=>"2","c"=>"3")
 */

$str="{a:1,b:2,c:3}";
$search=array("{","}");
$str=str_replace($search, "", $str);
$arr=explode(",", $str);
$arr1=array();
for ($i=0;$i<count($arr);$i++){
    $arr1[]=explode(":", $arr[$i]);
    
}
//echo $arr1[0][0];
for ($x=0;$x<count($arr1);$x++){
    for ($y=0;$y<count($arr1);$y++){
        if ($arr1[$x][$y]=="b") {
            echo $arr1[$x][$y+1];
        }
    }
}

解决方案

例子实在太像json了,所以让来源搞成标准的json肯定是最好的

一定是这种样子的话,正则是更简单的写法

$str="{a:1,b:2,c:3}";
preg_match_all('/(\w+):(\d+)/', $str, $matches);
$arr = array_combine($matches[1], $matches[2]);

var_dump($arr);

这篇关于php - 求一个简化代码的思路的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆