PHP array与Json学习
在 PHP 中,有三种数组类型:
- 索引数组 - 带有数字索引的数组,(可以理解C/C++/Java中的数组,按照索引位置直接访问)
- 关联数组 - 带有指定键的数组,(可以理解为map,按照键值对存储,按照键访问)
- 多维数组 - 包含一个或多个数组的数组,(可以理解为复杂的数组,元素可以是普通元素或者数组)
1.索引数组
可以使用数据的索引(下标)访问的数组。如下面的代码:
<?php
$myArray=array(1,2);
$myArray[]=4; //向末尾添加元素,等价于array_push()
$myArray[]=5; //向末尾添加元素,等价于array_push()
echo $myArray[0]."\n"; //
echo $myArray[2]."\n"; //
?>
2.关联数组
保存键值对数据,数据按照键名访问。如出现同名的键,后加的替换之前数据。如下面的代码:
<?php
$myArray=array("name"=>"liu");
$myArray["name"]="wang";
$myArray["school"]="bupt";
foreach($myArray as $key=>$value){
echo $key.":".$value."\n";
}
/*
输出:
name:wang
school:bupt
*/
?>
3.多维数组
数组的元素可以是普通元素,也可以是其他的元素。如下面的代码:
<?php
$indexArray=array(1,2,3);
$myArray=array($indexArray,"6"=>"liu");
$myArray["age"]=18;
$myArray[]="bupt";
print_r($myArray);
?>
输出:

4.PHP数组与JSON格式的转换
php提供了函数可以直接进行转换:
(1) json_encode : php数组 ---> json字符串
(2) json_decode : json字符串 ---> php数组(需要设置第二个参数为true)
PHP array与Json学习的更多相关文章
- Json学习笔记
一.昨天内容回顾 创建ajax对象 a) 主流浏览器 new XMLHttpRequest(); b) IE浏览器 new ActiveXObject("Msxml2.XMLHTTP. ...
- json学习系列(8)JSON与JAVA数据的相互转换实例
一.完整案例 先定义一个java实体对象,如下: package com.pcitc.json.cnblog; /** * SimInfo实体对象 * * @Description * @author ...
- Posting array of JSON objects to MVC3 action method via jQuery ajax
Does the model binder not suport arrays of JSON objects? The code below works when sending a single ...
- python np array转json
np array转json import numpy as np import codecs, json a = np.arange().reshape(,) # a by array b = a.t ...
- [Network] HTML、XML和JSON学习汇总
写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...
- PHP Object 转 Array,Json 转 Array
object 转 array /** * object 转 array */ function object_to_array($obj){ $_arr = is_object($obj)? get_ ...
- JSON学习总结
最近几天使用json的需求比较急迫,所以学习了一下json.此文仅当笔记,以防忘却. 此文主要分为js和java总结: 先介绍json格式: JSON 数据的书写格式是:名称/值对. ***:可以更容 ...
- Json学习篇
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行 ...
- python之json学习
1. 从python原始类型向json类型的转换过程,具体的转换如下: import json json.dump(obj, fp, skipkeys=False,ensure_ascii=True, ...
随机推荐
- 【转】关于Jmeter3.0,你必须要知道的5点变化
2016.5.18日,Apache 发布了jmeter 3.0版本,本人第一时间上去查看并下载使用了,然后群里或同事都会问有什么样变化呢?正好在网上看到一遍关于3.0的文章,但是是英文的.这里翻译一下 ...
- js判断某年某月有多少天
function getCountDays(ym) { var curDate = new Date(ym); /* 获取当前月份 */ var curMonth = curDate.getMonth ...
- iOS 11开发教程(三)运行第一个iOS 11程序
iOS 11开发教程(三)运行第一个iOS 11程序 运行iOS11程序 创建好项目之后,就可以运行这个项目中的程序了.单击运行按钮,如果程序没有任何问题的话,会看到如图1.6和1.7的运行效果. 图 ...
- python opencv3 轮廓检测
git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 创建一个2 ...
- SELECT INTO和INSERT INTO SELECT(SQL Server)
--自动创建了target_table表,并复制source_table表的数据到target_table select name,age into target_table from source_ ...
- [BZOJ5317][JSOI2018]部落战争(闵可夫斯基和)
对于点集$A$,$B$,闵可夫斯基和$C=\{(x1+x2,y1+y2)|(x1,x2)\in A,(y1,y2)\in B\}$.由此可知,对于两个凸包$A$,$B$的闵可夫斯基和$C$满足,$C$ ...
- Java集合的ConcurrentModificationException
简单复习一下集合顺带提一下这个错误,其实也比较常见,大多是因为疏忽的原因吧: 我们创建一个集合,添加了一些元素,使用迭代器来遍历,然后遍历途中需要进行一些逻辑操作,对集合进行修改,然后就报错了,这是什 ...
- UC浏览器 垂直水平居中
今天使用下述方式定义水平垂直居中不起作用 #box{ position: fixed; left:; right:; top:; bottom:; margin: auto; } 然后改用: #box ...
- An ac a day,keep wa away
zoj 初学者题: 1001 1037 1048 1049 1051 1067 1115 1151 1201 1205 1216 1240 1241 1242 1251 1292 1331 1334 ...
- 微信小程序 scroll-view隐藏横向滚动条
::-webkit-scrollbar { width: 0; height: 0; color: transparent; }