在 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学习的更多相关文章

  1. Json学习笔记

    一.昨天内容回顾 创建ajax对象 a) 主流浏览器  new  XMLHttpRequest(); b) IE浏览器  new ActiveXObject("Msxml2.XMLHTTP. ...

  2. json学习系列(8)JSON与JAVA数据的相互转换实例

    一.完整案例 先定义一个java实体对象,如下: package com.pcitc.json.cnblog; /** * SimInfo实体对象 * * @Description * @author ...

  3. 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 ...

  4. python np array转json

    np array转json import numpy as np import codecs, json a = np.arange().reshape(,) # a by array b = a.t ...

  5. [Network] HTML、XML和JSON学习汇总

    写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...

  6. PHP Object 转 Array,Json 转 Array

    object 转 array /** * object 转 array */ function object_to_array($obj){ $_arr = is_object($obj)? get_ ...

  7. JSON学习总结

    最近几天使用json的需求比较急迫,所以学习了一下json.此文仅当笔记,以防忘却. 此文主要分为js和java总结: 先介绍json格式: JSON 数据的书写格式是:名称/值对. ***:可以更容 ...

  8. Json学习篇

      JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行 ...

  9. python之json学习

    1. 从python原始类型向json类型的转换过程,具体的转换如下: import json json.dump(obj, fp, skipkeys=False,ensure_ascii=True, ...

随机推荐

  1. 【转】关于Jmeter3.0,你必须要知道的5点变化

    2016.5.18日,Apache 发布了jmeter 3.0版本,本人第一时间上去查看并下载使用了,然后群里或同事都会问有什么样变化呢?正好在网上看到一遍关于3.0的文章,但是是英文的.这里翻译一下 ...

  2. js判断某年某月有多少天

    function getCountDays(ym) { var curDate = new Date(ym); /* 获取当前月份 */ var curMonth = curDate.getMonth ...

  3. iOS 11开发教程(三)运行第一个iOS 11程序

    iOS 11开发教程(三)运行第一个iOS 11程序 运行iOS11程序 创建好项目之后,就可以运行这个项目中的程序了.单击运行按钮,如果程序没有任何问题的话,会看到如图1.6和1.7的运行效果. 图 ...

  4. python opencv3 轮廓检测

    git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 创建一个2 ...

  5. SELECT INTO和INSERT INTO SELECT(SQL Server)

    --自动创建了target_table表,并复制source_table表的数据到target_table select name,age into target_table from source_ ...

  6. [BZOJ5317][JSOI2018]部落战争(闵可夫斯基和)

    对于点集$A$,$B$,闵可夫斯基和$C=\{(x1+x2,y1+y2)|(x1,x2)\in A,(y1,y2)\in B\}$.由此可知,对于两个凸包$A$,$B$的闵可夫斯基和$C$满足,$C$ ...

  7. Java集合的ConcurrentModificationException

    简单复习一下集合顺带提一下这个错误,其实也比较常见,大多是因为疏忽的原因吧: 我们创建一个集合,添加了一些元素,使用迭代器来遍历,然后遍历途中需要进行一些逻辑操作,对集合进行修改,然后就报错了,这是什 ...

  8. UC浏览器 垂直水平居中

    今天使用下述方式定义水平垂直居中不起作用 #box{ position: fixed; left:; right:; top:; bottom:; margin: auto; } 然后改用: #box ...

  9. 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 ...

  10. 微信小程序 scroll-view隐藏横向滚动条

    ::-webkit-scrollbar { width: 0; height: 0; color: transparent; }