php提供很多内置函数(上千个)和很多框架、扩展等。
给我们开发者快速写出自己想要的东西,方便我们快速开发。
所以只会用这些内置函数、框架、扩展还不行,至少要了解些它内部运行原理
下面我通过自定个简单的json转php数组,名为decode的函数来看清php内置的json_decode函数原理
<?php
//简单的json数据转php数组函数
function decode($json){
$list = explode(',',$json);
for($i=0;$i<count($list);$i++){
if($i==0||$i==count($list)-1){
$list[$i] = str_replace('{','',$list[$i]);
$list[$i] = str_replace('}','',$list[$i]);
}
$arr = explode(':',$list[$i]);
$array[str_replace('"','',$arr[0])] = str_replace('"','',$arr[1]);
}
return $array;
}
$array = array("name"=>"Moid","qq"=>2993150260,"url"=>"www.zvccc.com");
//php数组初始化
$json = json_encode($array);
//把php数组转为json数据
$phparray = decode($json);
调用自定义decode函数
echo 'json数据:<p>'.$json;
echo '<p><p>用自定义函数转换后的php数组:<p>';
print_r($phparray);
?>
下面是运行截图:
要学会自己造轮子,并要了解php内置函数运行原理之PHP语言小知识
通过上面代码,我们了解json转php数组实现大部分是字符串操作/处理(字符串转数组、字符串替换等)实现的
最后,给所有php程序员一句话:不仅要会用,而且要会去实现
网友评论