php - 求一个简化代码的思路
本文介绍了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屋!
查看全文