php笔记之:php数组相关函数的使用

创建数组就不再说了  array()函数

提取数组可以用list().

测试数组元素 ,可以用is_array()

接受一个参数,传进来的变量,如果变量是数组,返回true如果不是返回false.

添加和删除数组元素

数组的fifo和lifo

先解释下什么是fifo和lifo

删除元素与加入元素的顺序相同,称为先进先出,既first-in-first-out

删除元素与加入元素的顺序相反,称为后进先出,既last-in-first-out

相对应的对数组的操作

  • array_unshift()

  • int aray_unshift(array array,mixed variable [,mixed variable...])

在数组头添加元素,所有已有的数值键都会相应的改变,以反映在数组中的新位置,关联键不受影响.

例:

<?php

$words = array('a','b','c');

print_r($words);

//array([0]->a,[1]->b,[2]->c);

array_unshift($words,'d');

print_r($words);

//array([0]->d,[1]->a,[2]->b,[3]->c);

  • array_shift()

  • mixed array_shift(array array)

从数组头删除元素,删除并返回数组中找到的元素,结果是,如果使用的是数值键,则所有相应的值都会下移.如果使用的是关联键,数组不受影响.

例:

<?php
$words = array('a','b','c');

print_r($words);

//array([0]->a,[1]->b,[2]->c);

array_shift($words,'a');

print_r($words);

//array([0]->b,[1]->c);

  • array_push()

  • int array_push(array array ,mixed variable [,mixed variable...])

从数组尾添加元素,将variable添加到数组的末尾,成功返回true 失败返回false.可以传递多个参数,作为输入,同时向数组压入多个变量.

例:

<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>

本例将使 $stack 具有如下单元:

Array ( [0] => orange [1] => banana [2] => apple [3] => raspberry )

-------------------------------------------------------------

上例摘自PHP手册.对于数组操作,使用$array[]=,可以增加效率.因为不需要调用函数.

--------------------聪明的分割线-----------------------------

  • array_pop()

  • mixed array_pop(array target_array)

从数组末尾删除元素并返回数组的最后一个元素.

<?php
$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
?>

经过此操作后,$stack 将只有 3 个单元:

Array ( [0] => orange [1] => banana [2] => apple )

------------------------------------------------------

上例摘自PHP手册

-------------------------聪明的分割线-----------------

自己的一些总结和观点.

以上四个函数,有的时候可能用处很大,首先说返回值

注意array_unshift()和array_push()的返回值应该是布尔型,但是手册上和相关图书上都标注说返回的是int型.这个值得思考.

array_shift()和array_pop()两个函数不仅能够实现删除相关数组的元素,并且能够返回所删除的数组元素.先写到这里,后面还有很多.慢慢总结.

(0)

相关推荐

  • PHP数组排序函数合集 以及它们之间的联系分析

    下边提到的几个数组函数的排序有一些共性:1 数组被作为排序函数的参数,排序以后,数组本身就发生了改变,函数的返回值为bool类型.2 函数名中出现单a表示association,含义为,在按值排序的过程中,保持key=>value的对应关系不变3 函数名中出现单k表示key,含义为,在按值排序的过程中按照数组key而不是数组的值排序4 函数名中出现单r的表示reverse,含义为,按照跟不加r的相反的顺序排列5 函数名中出现单u的表示user-defined,含义为,使用用户自定义函数排序,如果

  • PHP数组传递是值传递而非引用传递概念纠正

    在调用函数时通过将PHP数组作为实参赋给形参,在函数中修改,并不会影响到数组本身. 说明此过程中的传递为值传递,数组变量并非是指向此数组本身的引用,PHP数组本身以值的形式存在,同时形参是对数组的拷贝. 这点与其他一些语言不同(如c.Js等)很不相同,值得注意! 复制代码 代码如下: $arr = array( 'name' => 'corn', 'age' => '24', ); test_arr($arr); function test_arr($arr){ $arr['name'] =

  • php数组的概述及分类与声明代码演示

    复制代码 代码如下: <?php /** ** 一数组的概述 1.数组的本质:管理和操作一组变量,成批处理 2.数组是复合类型 3.数组中可以存储任意长度的数据.也可以存储任意类型的数据 4.数组就可以完成其他语言数据结构的功能(链表,队列,栈,集合类) ** 二.数组的分类 数组中存有多个单元,(单元称为元素) 每个元素都是由下标[键]和值组成 单独访问元素的时候,都是通过下标[键]来访问元素 1.一维数组 ,二维数组,三维数组 .....多维数组 (数组的数组,就是在数组中存有其他的数组)

  • 如何判断php数组的维度

    如下所示: 复制代码 代码如下: <?php /**  * 返回数组的维度  * @param  [type] $arr [description]  * @return [type]      [description]  */function arrayLevel($arr){     $al = array(0);     function aL($arr,&$al,$level=0){         if(is_array($arr)){             $level++;

  • PHP数组循环操作详细介绍 附实例代码

    PHP数组还是比较常用的,于是我研究了一下PHP数组循环操作,在这里拿出来和大家分享一下,希望对大家有用.PHP基本上就是一种数组语言.时常要进行大量的PHP数组循环操作,主要有两种方式,一种是foreach,另一种是while,到底哪种好哪种坏一直有争论,虽然我很早就意识到了这个问题,但是一直没有细究,懵懂的感觉一直持续到现在,为了以后能节省点CPU时间,下面总结一下: 在循环里进行的是数组"读"操作,则foreach比while快,PHP数组循环操作无格式查看复制到剪贴板打印代码?

  • php数组转换js数组操作及json_encode的用法详解

    对于php,个人感觉能够熟练操作数组和字符串,基本上已经是入门了,php本身有很多操作数组和字符串的函数,今天在做一个功能时,需要用Js动态的创建门店信息,这些信息是要从后台添加的,想来想去,通过php读取数据库,得到数组,然后将数组转化成符合需求js数组,php数组形式为: 复制代码 代码如下: $newArray = array(array('地区'=>'北京地区','items'=>'10','detail'=>array(0=>array('店名'=>'旗舰店','u

  • php获取数组长度的方法(有实例)

    在php中获取数组长度方法很简单,php为我们提供了两个函数可以计算一维数组长度,如count,sizeof都可以直接统计数组长度哦,下面我们来看几个实例吧.php如何获取数组的长度,使用php函数count(),或是sizeof()例如: 复制代码 代码如下: $arr = Array('0','1','2','3','4'); echo count($arr);// 输出 5$arr = array('A','B','C');echo sizeof($arr);//输出3 sizeof()和

  • 判断php数组是否为索引数组的实现方法

    HP没有内置判断是否索引数组的方法,简单实现了一个,用法: 复制代码 代码如下: echo is_assoc($array)?'索引数组':'不是索引数组'; is_assoc函数如下: 复制代码 代码如下: function is_assoc($array) {        if(is_array($array)) {            $keys = array_keys($array);            return $keys != array_keys($keys);   

  • php数组声明、遍历、数组全局变量使用小结

    php教程:数组声明,遍历,数组全局变量 复制代码 代码如下: <? /* * 一.数组的概述 * 1.数组的本质:管理和操作一组变量,成批处理 * 2.数组时复合类型(可以存储多个) * 3.数组中可以存储任意长度的数据,也可以存储任意类型的数据 * 4.数组可以完成其他语言数据结构的功能(链表,队列,栈,集合类) * * * * 二.数组的分类 * 数组中有多个单元,(单元称为元素) * 每个元素(下标[键]和值) * 单访问元素的时候,都是通过下标(键)来访问元素 * 1.一维数组,二维数

  • php数组去重的函数代码

    复制代码 代码如下: <?php      function assoc_unique($arr, $key) {           $tmp_arr = array();           foreach($arr as $k => $v) {               if(in_array($v[$key], $tmp_arr)) {                   unset($arr[$k]);               } else {                 

  • PHP数组无限分级数据的层级化处理代码

    复制代码 代码如下: /** * 创建父节点树形数组 * 参数 * $ar 数组,邻接列表方式组织的数据 * $id 数组中作为主键的下标或关联键名 * $pid 数组中作为父键的下标或关联键名 * 返回 多维数组 **/function find_parent($ar, $id='id', $pid='pid') {   foreach($ar as $v) $t[$v[$id]] = $v;  foreach ($t as $k => $item){    if( $item[$pid] )

  • PHP数组及条件,循环语句学习

    1. 数组 实例1: 1).效果图预览: 2).代码截图: 以下是一个二维数组, 实际用的比较多. $mess = array('title'=>'留言标题1','content'=>'内容','ctime'=>'2012-1-1 12:34:23'); //关联数组 //遍历数组的语句 //第一种foreach($mess as $v){   //foreach可以遍历关联数组; 而for循环只能遍历枚举数组, 不能遍历关联数组.   //$v是接收数组元素的值, 循环体循环次数由数组

  • php数组(array)输出的三种形式详解

    复制代码 代码如下: $bbbb=array("11"=>"aaa","22"=>"bbb");//只能输出值value不能输出keyforeach($bbbb as $color){ echo $color;}//value与key都可输出foreach($bbbb as $key=>$value){ echo $key."=>".$value;} //value与key都可输出w

随机推荐