PHP中一些常用知识点
1、json字符串转json对象
$data='[{"user_id":"93","price":"52.50"},{"user_id":"93","price":"52.50"},{"user_id":"93","price":"52.50"}]'; $jsonObj = json_decode($data,true); var_dump($jsonObj);
输出如下:
array (size=3)0 => array (size=2)'user_id' => string '93' (length=2)'price' => string '52.50' (length=5)1 => array (size=2)'user_id' => string '93' (length=2)'price' => string '52.50' (length=5)2 => array (size=2)'user_id' => string '93' (length=2)'price' => string '52.50' (length=5)
这种输出方法与下面的一样:
$sql = "SELECT * " ."FROM goods WHERE is_hot = 1";$row = $GLOBALS['db']->getAll($sql);var_dump($row);
输出如下:
array (size=10)0 => array (size=52)'goods_id' => string '1089' (length=4)'cat_id' => string '310' (length=3)'goods_sn' => string 'ECS001201' (length=9)'goods_name' => string '喇叭袖中长上衣夏季短袖T恤打底裙' (length=86)1 => array (size=52)'goods_id' => string '1099' (length=4)'cat_id' => string '336' (length=3)'goods_sn' => string 'ESCOO1105' (length=9)'goods_name' => string '榄油菜籽油玉米植物调和油商超同款' (length=86)2 => array (size=52)'goods_id' => string '1110' (length=4)'cat_id' => string '336' (length=3)'goods_sn' => string 'ECS001110' (length=9)'goods_name' => string '自榨菜油5l食用油非转基因粮油' (length=88)
2、怎样保存JSON字符串?怎样添加或删除一个JSON字符串
//定义一个数组 $allowArr=array(); //把从数据库库中获取的[{"user_id":"93","user_name":"james","price":"88"},{"user_id":"293","user_name":"139335","price":"52.50"}]字符串转换为数组对象 $allowMemberArr=json_decode($allowMember); //这里注意如果使用的是$allowMemberArr=json_decode($allowMember,true);遍历取值的时候要用$row['user_id'],而不是$row->user_id
//遍历并添加到数组行 foreach ($allowMemberArr as $key=>$row) {$allowArr[] = array('user_id' => $row->user_id, 'user_name' => $row->user_name, 'price' => $row->price); } //添加一个数组行 $allowArr[]=array('user_id'=>$user_id,'user_name'=>$user_name,'price'=>$price); //把所有已经添加的数组行转换为JSON字符串,然后就可以保存了(JSON_UNESCAPED_UNICODE 防止中文乱码) $jsonString =json_encode($allowArr,JSON_UNESCAPED_UNICODE);
删除其中一个数组行也可以用遍历判断进行去除
$allowArr=array();$allowMemberArr=json_decode($allowMember);foreach ($allowMemberArr as $key=>$row){if($row->user_id!=$userId){$allowArr[]=array('user_id'=>$row->user_id,'user_name'=>$row->user_name,'price'=>$row->price);}}
3、在数组中判断某个值是否存在
in_array(value,array,type)
该函数的作用是在数组array中搜索指定的value值,type是可选参数,如果设置该参数为 true ,则检查搜索的数据与数组的值的类型是否相同,即恒等于(区分大小写)。
//如果按JSON来说,解决的形如:["Peter", "Joe", "Glenn", "Cleveland"]方式
$people = array("Peter", "Joe", "Glenn", "Cleveland"); if(in_array("Glenn",$people)){echo "Match found"; }else{echo "Match not found"; }输出: Match found //与下面这种方式是一样的,如:$arrStr='["20","60","55"]';这种类型的字符串,如果用它进行比较需要转换为数组:$arr=$json->decode($_GET['ids']);这种方法可以解决如:go.php?act=drop_group_users&ids=["287","294","302"] if(in_array("60",$arr)){echo "Match found"; }else{echo "Match not found"; }
array_key_exists(key,array)
该函数是判断某个数组array中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。
提示:请记住,如果您指定数组的时候省略了键名,将会生成从 0 开始并且每个键值对应以 1 递增的整数键名
//如果按JSON来说,解决的形如:{"a":"Dog","b":“Cat"}方式 $a=array("a"=>"Dog","b"=>"Cat"); if(array_key_exists("a",$a)){ echo "Key exists!"; }else{ echo "Key does not exist!"; }输出:Key exists!
array_search(value,array,strict)
array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,则返回匹配该元素所对应的键名。如果没找到,则返回 false。注意在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。同样如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。
$a=array("a"=>"Dog","b"=>"Cat","c"=>5,"d"=>"5"); echo array_search("Dog",$a); echo array_search("5",$a);
输出:
ad
转载于:https://www.cnblogs.com/firstcsharp/p/10698472.html
PHP中一些常用知识点相关推荐
- 【华为OD机试真题 JAVA】算法中的常用知识点
为大家准备了算法中常用的一些重要知识点 String 字符串 IndexOf():返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这 ...
- ES6中的常用知识点总结
1.let 和 const ES5 只有全局作用域和函数作用域,没有块级作用域,ES6中新增了let命令和const命令用于声明变量,且类似于C+.Java等语言是块级作用域.const声明一个只读的 ...
- html中css常用知识点
文章目录 **::before和::after清除浮动的固定格式(前后格式互不影响)** Div内图片填充 **a标签的应用及样式:** 图片热点:map必须和img一起使用 **背景颜色渐变:** ...
- list python 访问 键值对_基础|Python常用知识点汇总(中)
字符串字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串.1.创建字符串 str1 = 'Hello World!' str2 = "Hello W ...
- javaScript常用知识点有哪些
javaScript常用知识点有哪些 一.总结 一句话总结:int = ~~myVar, // to integer | 是二进制或, x|0 永远等于x:^为异或,同0异1,所以 x^0 还是永远等 ...
- ES6常用知识点概述
前言 国庆假期已过一半,来篇干货压压惊. ES6,并不是一个新鲜的东西,ES7.ES8已经赶脚了.但是,东西不在于新,而在于总结.每个学前端的人,身边也必定有本阮老师的<ES6标准入门>或 ...
- matplotlib一些常用知识点的整理,
本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 强烈推荐ipython 无论你工作在什么项目上,IPython都是值得推荐的.利用ipython --pylab,可以进入Py ...
- oracle 常用知识点整理
转 : oracle 常用知识点 原文链接:http://blog.csdn.net/weijiaxiaobao/article/details/51323573 Oracle 是一个庞大的系统,里 ...
- html内置时间对象,JavaScript中的常用事件,以及内置对象详解
原标题:JavaScript中的常用事件,以及内置对象详解 今天是刘小爱自学Java的第81天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: 学前端有一个非常权威的组织,也就是w3c,其有个专 ...
最新文章
- 整理收集49条JQuery代码小结
- Python逻辑运算符:if and
- 破译。字符串匹配。HOJ1548 Crypt Kicker II。
- linux i2c adapter 增加设备_LINUX设备驱动模型分析之四 设备模块相关(DEVICE)接口分析...
- java生成验证码SWT_Java SWT Lable框中显示图片验证码
- sqlserver数据库原理
- Linux之DNS配置及案例
- 我把朋友圈关掉了235天
- 浅析busybox如何集成到openwrt
- 行测题相关,在线测评(图形找规律。逻辑思维)
- 无线扫码枪 服务器查询异常,无线扫描枪常见问题及解决方法
- go中使用protobuf
- Java的加减乘除方法
- 新增数学与人工智能学部,考数据结构!齐鲁工业大学(山东省科学院)计算机考研...
- 前端——js关闭页面方法
- hdu 5148 Cities(树形背包)
- python爬虫之获取资源----urllib,requests
- android 缺少模拟器,Android模拟器缺少硬件配置文件(示例代码)
- DID:仅有几个实验组样本的倍分法(双重差分)
- 图像边缘检测与图像梯度的概念
热门文章
- 【华科考研复试机试题】华中科技大学考研复试机试题解题报告
- 每天一道LeetCode-----回文链表
- internal compiler error: Killed (program cc1plus)
- iOS Hacker Keychain相关The executable was signed with invalid entitlements
- 一个Lex/Yacc完整的示例(可使用C++)
- POJ 3061 -- Subsequence(二分)
- html中的盒子设置时间设置,CSS中的间距设置与盒子模型
- python 求一个矩阵的距离矩阵的方法:
- 局部静态变量Static详解
- 计组-总线操作和定时