1、一般情况下$name['tom']和$name[tom]是相同的;但没有引号的键不能和常量区别开,如:define('index', 5)时;$name['tom']和$name[tom]不同

2、双引号里的变量一般要用{}括起来是好习惯,如: echo "{$name}";

3、数组 $name = array('tom', 'jim', 'alice'); 和 $username = ['tom', 'jim', 'alice'];

4、数组用 =>符号来指定一个初始值,后面的键值是连续的;

  ps1:$days = array(1 =>"Mon", "Tue", "Wed", "Thu");  //Tue的键值为2,Wed的键值为3等等

  Ps2:$days = array('one' => "Mon", "Tue", "Wed", "Thu");  //数组2的键值为0,数组3的键值为1

5、指定的范围:range();

  ps1:$num = range(2, 5);  //$num = array(2, 3, 4, 5);

  ps2:$str = range(a, z);    //保存了a-z的26个字母;

  ps3:$num = range(5, 2);  //$num = array(5, 4, 3, 2);

  ps4:$str = range("abd", "zds"); //保存了a-z的26个字母,只限定第一个字符范围,数字也是

6、获得数组的大小

  count()和sizeof()函数在用法和效果上是完全一样的;

  如 $family = array("tom", "jim", "cherry");   $size = count($family); $size是3

7、填充数组

  array_pad() 用重复的内容来创建一个数组,第一个参数是数组,第二个参数是你想让数组拥有的最少元素个数,第三个参数是每个元素的初始值;返回新数组,丢弃源数组

  ps1:

  $scores = array(5, 10);

  $padded = array_pad($scores, 5, 0);  //$padded现在是array(5, 10, 0, 0, 0);

  ps2:

  $padded = array_pad($scores, -5, 0);  //$padded现在是array(0, 0, 0, 5, 10);

8、多维数组

  要使用变量替换来访问多维数组中的元素,必须将整个元素用大括号括起来:

  echo "{$num[1][0]}"; //结果为4

  echo "$num[1][0]";  //结果为array[0]

9、析取多个值

  要把一个数组中的所有值都复制到变量中,可以使用list()结构;

  $person = arrary("tom", 35, "alice");

  list($name, $age, $wife) = $person;  //$name 是tom, $age是35, $wift是alice

  (list()函数通常用来从一个只返回一条记录的数据库查询中提取数据,这样会把简单差uxnde数据自动赋值到一系列局部变量中。)

  ps:$sql ="select name, age, wife from person where id = 2";

    $result = mysql_query($sql);

    list($name, $age, $wife) = mysql_fetch_assoc($result);

  ps2:如果数组中的元素个数比list()中的变量个数,多余的值被忽略;如果list()中的值比数组中的多,多余的值被设置为NULL;

  在list()中使用两个多多个连续的逗号来跳过数组中的值;

  $values = range('a', 'e');

  list($m,  ,  $n,  ,$o) = $values; //$m是”a", $n是"c", $o是"e"

php 学习笔记 数组1的更多相关文章

  1. Java菜鸟学习笔记--数组篇(三):二维数组

    定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...

  2. JavaScript学习笔记-数组

    数组 数组中的每个元素的位置是索引,索引是基于32位的由0开始的数值,最大索引为(2的32次方-2),最大长度为(2的32次方-3) 数组是无类型的:元素可为任意类型:动态的:可根据需要自动增长.缩减 ...

  3. JavaScript学习笔记——数组

    javascript数组数组是一个可以存储 一组 或是 一系列 相关数据 的 容器. 一.为什么要使用数组. (1)为了解决大量相关数据的存储和使用的问题. (2)模拟真是的世界. 二.如何创建数组 ...

  4. JavaScript学习笔记-数组(1)

    数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型.数 ...

  5. Java菜鸟学习笔记--数组篇(二):数组实例&args实例

    基本类型实例 //1.定义一个一维数组,先声明,在分配空间 int []number;//生命,没有初始化,number=null number=new int[5];//初始化为默认值,int默认值 ...

  6. js学习笔记——数组方法

    join() 把数组中所有元素转化为字符串并连接起来,并返回该字符串, var arr=[1,2,3]; var str=arr.join("#"); //str="1# ...

  7. JS学习笔记-数组

    ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,由于它能够通过其它 方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结.此篇仅对JS中对象作简要说 ...

  8. PHP学习笔记-数组(1)

    1-1 数组定义 1.什么是数组? 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组 ...

  9. php 学习笔记 数组3

    15.使用数组 1).并集(union)  array_merge(array1,array2,array3..) 函数把两个或多个数组合并为一个数组,后面覆盖前面 2). 交集(intersecti ...

  10. php 学习笔记 数组2

    10.切割数组 array_slice(array, offset, length);返回一个由原始数组中的连续元素组成的新数组,参数1为原始数组,参数2为要复制的起始位置, 参数3要复制的个数:新数 ...

随机推荐

  1. [LeetCode]题解(python):130-Surrounded Regions

    题目来源: https://leetcode.com/problems/surrounded-regions/ 题意分析: 给定给一个二维的板,这个板只包括‘X’和‘O’.将被‘X’包围的‘O’变成‘ ...

  2. 在Linux中创建静态库和动态库 (转)

    我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种.静态 库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而 ...

  3. JAVA 线程学习 - Thread了解

    public class ThreadKnow { private TimeThread timeThread; private boolean flag; public ThreadKnow() { ...

  4. poj 1204 Word Puzzles(字典树)

    题目链接:http://poj.org/problem?id=1204 思路分析:由于题目数据较弱,使用暴力搜索:对于所有查找的单词建立一棵字典树,在图中的每个坐标,往8个方向搜索查找即可: 需要注意 ...

  5. 如何开始一个模块化可扩展的Web App(转)

    原文链接:http://avnpc.com/pages/start-a-modular-extensible-webapp 日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性 ...

  6. Android 性能优化 三 布局优化ViewStub标签的使用

    小黑与小白的故事,通过虚拟这两个人物进行一问一答的形式来共同学习ViewStub的使用 小白:Hi,小黑,ViewStub是什么?听说能够用来进行布局优化. 小黑:ViewStub 是一个隐藏的,不占 ...

  7. C++ 经常使用类 string类

    ===6.3.2使用string对象=== string word="I love China" *链接字符串* string description=adjective  + & ...

  8. Linux 内核的编译系统

    Linux  的编译使用 GNU make 工具来检查整个系统的文件和调用 gcc 工具以及脚本完毕编译源码生成 image 等操作.要了解整个编译系统,我们首先要了解 Linux 内核的 Makef ...

  9. mybatis级联查询

    1.定义四个实体.User   Role    Privilege   Resource,他们之间的对于关系为 2.需求:我通过用户名username查找出该用户对应的角色以及角色对应的权限和资源 3 ...

  10. liquibase之快速入门

    第一步: 创建一个Changelog File: 这个database  Changelog file列举了数据库中所有的改变情况,该文件是以xml为基础的,下面是一个空的xml文件: <?xm ...