JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 JSON 具有自我描述性,更易理解
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
学习了php的基本语法的你们肯定知道数组Array这个基本数据啦,因为我们前端显示出的数据库数据一般由数组表示的,那么基本数据数组和JSON之间要怎么转换呢?
jsonencode():将基本数据数组转换为json格式 jsondeconde():将json格式转化为基本数据数组格式
ps:从后台返回数据(echo $json)到前台,获得数据时候,一般同学都是选择用eval()函数来进行格式转化,考虑到对项目安全性问题,小编个人建议大家少用,而选择用getJSON()函数。它具有相同的功能,而且安全性要强一些。
“:”:数据在名称/值对中 “,”:数据由逗号分隔 “{ }”:花括号保存对象 “[ ]”:方括号保存数组
个人写接口的时间不长,从网上资料及视频教程中得出经验:写简单接口,就相当写MVC中的MC,只写逻辑代码层,把功能用函数封装起来,到时候include,直接调用就好了。
(如若手机显示不全,可右滑)
interface Animal{
public function bite();
}
class Man implements People{
public function say(){
echo 'i can say';
}
public function dance(){
echo 'i can dance';
}
}
class Woman implements People{
public function say(){
echo 'i can say girl voice';
}
public function dance(){
echo 'i can dance like a goose';
}
}
class Bird implements Animal{
public function bite(){
echo 'i can bite';
}
}
class Hybreed implements People,Animal{
public function say(){
echo 'i can say';
}
public function dance(){
echo 'i can dance';
}
public function bite(){
echo 'i can bite';
}
}
$hybreed = new Hybreed;
echo $hybreed->say()."\r\n";
echo $hybreed->dance()."\r\n";
echo $hybreed->bite()."\r\n";
接口存在的意义就是实现“多重继承”,准确的来说应该就做“多重实现“,因为一个php类只能有一个父类,而一个类却可以实现多个接口,就像大一学C++时,上面代码interface.php中的Hybreed类,即实现了people接口,又实现了Animal接口,而通过这种多重继承,最终的$hybreed即获得了人类的say和dance的方法,又获得了动物的bite方法。而Man类和Woman类分别实现People的接口,采用不同的内容去重写了say和dance方法,正是一种多态的体现。
(如若手机显示不全,可右滑)
//数据库连接部分--开始
$mysql_server_name="localhost"; //数据库服务器名称
$mysql_username="root"; // 连接数据库用户名
$mysql_password=""; // 连接数据库密码
$mysql_database="hello"; // 数据库的名字
// 连接到数据库
$conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password);
if(!$conn) {
echo "数据库连接失败!".mysql_error;
}
mysql_select_db($mysql_database, $conn);
//数据库部分--结束
/* 登录、注册、修改个人信息、显示用户接口‘菜单’代码--开始*/
//获取url参数
$action = isset($_POST['action']) ? $_POST['action'] : '';
$name = isset($_POST['name']) ? $_POST['name'] : '';
$psd = isset($_POST['psd']) ? $_POST['psd'] : '';
if($action=='login') {
login($name, $psd, true);
} else if($action=='register') {
register($name, $psd);
} else if($action=='modifyPsd') {
modifyPsd($name, $psd);
} else if($action=='showAll') {
showAll();
} else {
$result = array("result"=>"error_request");//返回一个错误提示
$json = json_encode($result);
echo $json;
close_conn();
/*‘菜单’代码--结束*/
/*用户登录*/
function login($name, $psd, $normal) {
global $conn;
if($conn) {
$result = mysql_query("select name,psd from student");
$success = false;
while($row = mysql_fetch_array($result)) {
if($name == $row['name'] && $psd == $row['psd']) {
$success = true;
}
}
if($normal) {
$login_result = array('login_result'=>$success);
$json = json_encode($login_result);
echo $json;
}
}
return $success;
}
/*用户注册*/
function register($name, $psd) {
$tel = $_POST['tel'];
global $conn;
if($conn) {
//数据库查询
$result = mysql_query("select name from student");
$exist = false;
while($row = mysql_fetch_array($result)) {
if($name == $row['name']) {
//注册失败,用户名已存在;
$exist = true;
$register_result = array("register_result"=>false,"error_code"=>0);
$json = json_encode($register_result);
echo $json;
}
}
//插入数据库
if(!$exist) {
$id = mysql_num_rows($result) + 1;
$success = mysql_query("insert into student values('$id', '$name', '$tel', '$psd')");
if($success) {
//注册成功
$register_result = array("register_result"=>$success);
$json = json_encode($register_result);
echo $json;
} else {
//注册失败,数据库插入错误
$register_result = array("register_result"=>$success,"error_code"=>1);
$json = json_encode($register_result);
echo $json;
}
}
}
}
/*修改登录密码*/
function modifyPsd($name, $psd) {
$newpsd = $_POST['newpsd'];
global $conn;
if($conn) {
//用户登录
$login_result = login($name, $psd, false);
//修改密码
if($login_result) {
$success = mysql_query("update student set psd='$newpsd' where name='$name'");
if($success) {
//修改成功
$modify_result = array("modify_result"=>$success);
$json = json_encode($modify_result);
echo $json;
} else {
//修改失败,数据库错误
$modify_result = array("modify_result"=>$success,"error_code"=>1);
$json = json_encode($modify_result);
echo $json;
}
} else {
//修改失败,登录失败
$modify_result = array("modify_result"=>false,"error_code"=>2);
$json = json_encode($modify_result);
echo $json;
}
}
}
//显示所有用户
function showAll() {
global $conn;
if($conn) {
$result = mysql_query("select * from student");
$success = false;
$array_data = array();
$total = mysql_num_rows($result);
//$data = array("total"=>$total,"datas"=>array(array("data"=>"123","name"=>"zhugeheng"),
// array("data"=>"456","name"=>"zhaodanni")
// ));
while($row = mysql_fetch_array($result)) {
$array_temp = array("name"=>$row['name'], "tel"=>$row['tel']);
array_push($array_data, $array_temp);
}
$data = array("total"=>$total,"datas"=>$array_data, "result"=>true);
$json = json_encode($data);
echo $json;
}
}
//关闭连接
function close_conn() {
global $conn;
mysql_close($conn);
}
尊重原创,转载请注明出处:[http://blog.csdn.net/zhugehengheng/article/details/44645287](http://blog.csdn.net/zhugehengheng/article/details/44645287)
在这里,小编在原作者的基础上对代码进行了部分注释,希望对大家的学习有所帮助,也希望有写接口经验的大牛们加我微信(wzc88czw)交流学习心得。