10、切割数组

  array_slice(array, offset, length);返回一个由原始数组中的连续元素组成的新数组,参数1为原始数组,参数2为要复制的起始位置, 参数3要复制的个数;新数组的键值从0开始

  $people = array("tom", "dick", "jo", "jim", "alic");

  $middle = array_slice($people, 2, 2); //$middle是array("jo", "jim");

  一般来说,只有在索引数组上使用array_slice()才有意义

11、数组分块

  把数组分为小数组或固定大小的数组,可以使用array_chunk()函数;

  $chunks = array_chunk(array, size [, preserve_keys]);

  $nums = range(1, 7);

  $rows = array_chunk($nums, 5);

   print_r($rows);  //Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) [1] => Array ( [0] => 6 [1] => 7 ) )

12、键(Key)和值(Value)

  array_keys()  函数根据内部顺序返回一个仅由数组中的键组成的数组

  array_values()  函数根据内部顺序返回一个仅由数组中的值组成的数组(较少使用)

13、在数组中删除和插入元素

  array_splice()  在数组中删除和插入元素,并且可以用被删除的元素创建另一个数组

  array_splice(array, start [, length [, replacement] ]);

  ps:$subjects = array("tom", "jim", "cherry", "alice", "gina", "lilei”, "lucy");

    $removed = array_splice($subjects, 2, 3);

    //$removed 是array("cherry", "alice", "gina");

    //$subjects 是array("tom", "jim", "lilei", "lucy");

  如果省略length参数,array_splice()将删除到数组末尾;

  如果只是简单地删除原数组中的元素,而不关心他们的值,则不需要将array_splice()的结果赋值给变量

  要在被删除的元素的位置插入新的元素,应ongoing第4个参数;

  $new = array("one", "two", "three");

  array_splice($subjects, 4, 3, $new); //$subjects是array_splice("tom", "jim", "cherry", "one", "two", "three");

  替换数组的元素个数不需要和被删除元素的数目相同,数组可以按需要增加或减少

  $subjects = array("tom", "jim", "alice");

  $new = array("cherry", "gina");

  array_splice($subjects, 2, 0, $new); //$subjects 是array("tom", "jim", "cherry", "gina", "alice");

14、数组和变量间的转换

  php提供了两个函数extract() 和 compact(), 用于数组和变量之间的转换,变量的名字对应数组中的键名,变量的值为数组中的赋值;

  从数组创建变量

  extract(array, [EXTR_PREFIX_ALL, "str"]);

  $person = array('name' => "tom", 'age' => 35, 'wife' => "lucy");

  extract($person);

  可以转换成下面的变量:

  $name = "tom";

  $age = 35;

  $wife ="lucy";

  如果加了第二个参数:

  $str_name = "tom";

  $str_age = 35;

  $str_wife = "lucy";

  从变量创建数组:

  compact() 函数和extract()函数正好相反,将多个变量名或单个数组作为参数传给compact(),可以合并出一个新的数组

  $color = "yellow";

  $shape = "curvy";

  $floppy = "none";

  $a =compact("color", "shape", "floppy");

  

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

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

随机推荐

  1. 9.PHP 教程_PHP运算符

    PHP 运算符 在 PHP 中,赋值运算符 = 用于给变量赋值. 在 PHP 中,算术运算符 + 用于把值加在一起. PHP 算术运算符 运算符 名称 描述 实例 结果 x + y 加 x 和 y 的 ...

  2. 操作 IoT 设备内嵌 SQLite

    Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD   Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本 ...

  3. 人生新开始——第一天上班

    今天是我正式上班的第一天,对今天要做的工作充满期待,对将要面对的同事们也充满期待.这天起的很早,7点钟就开始睡不着了,忙着起来整理东西,看着时间还早,便打开电脑听起CNN News,练习听力,一听就听 ...

  4. C++ 函数映射使用讲解

    想想我们在遇到多语句分支时是不是首先想到的是 switc case 和 if else if ... 这2种方式在编码方面确实简单少,但是当分支达到一定数量后,特别是分支内部有嵌套大段代码或者再嵌套分 ...

  5. Oracle表解锁

    网搜 --第一步 查看被锁表 select b.owner,b.object_name, b.object_id,l.session_id,l.locked_mode from v$locked_ob ...

  6. mac安装office2011,提示无法打开文件Normal.dotm,因为内容有错误

    最近使用mac上的office,发现一个问题,每次打开office11都会报错,提示“无法打开文件Normal.dotm,因为内容有错误”,于是就在网络上搜索了一下,找到如下一段话, I just f ...

  7. WPF qq界面(转)

    原文:http://blog.csdn.net/u013981858/article/details/49130885 刚开始学WPF,自己写了个小东西,说实话写的并不好,好多东西不懂只是用现在懂的东 ...

  8. python切片练习

    这块儿没什么难的,细心一点就好 L = [] n = 1 while n <= 99: L.append(n) n = n + 2 print(L) #但是在Python中,代码不是越多越好,而 ...

  9. 类似jquery的一个demo

    通过以下的demo,可以大体知道jquery的一些组织结构以及一些实现方法. 实际上jquery就是一个全局变量,只是在这个变量上添加了各种属性和方法. 首先我们要理解什么是匿名函数自执行,简单点就是 ...

  10. mysql存储过程详解[转]

    1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储 ...