PHP数组、函数

PHP数组:

(1)索引数组和关联数组:

(1.)索引数组:传统数组,下标从0开始.

(2.)关联数组:类似字典结构,键值可以是一个数字或者字符串,等价于整数的字符串被当做整数对待,因此

            $arr[3]和$arr[‘3‘]引用的是相同的元素.

            (3.)php内部将所有数组都存储为关联数组.

    (2)数组元素的访问:

            (1.)$array[‘name’].(引号可以省略,但是为了防止和常量字符串冲突,最好加上)

            (2.)$array[0].

    (3)在数组中存储数据:

            (1.)若果数组不存在,那么向数组中存放值将创建该数组,但是在一个未定义的数组中检索值,不会创建数组.

            (2.)使用系统自带方法:$arr = array(),不传递参数就是空数组.

            (3.)$array = [‘name‘ => ‘jack‘, age => 19, gender => ‘男‘].

            (4.)$days = array(1 => ‘Mon‘, ‘Tue‘, ‘Wed‘, ‘Thu‘, ‘Fri‘).

    (4)指定值的范围:

            (1.)$numbers = range(2, 30), range(10, 5)即倒着存储数值.

            (2.)$letters = range(‘a‘, ‘z‘).

    (5)获取数组的大小:

            (1.)count()

            (2.)sizeof(),是count()的别名,没有区别

    (6)键和值:

            (1.)取出所有key值形成新数组:$keys = array_keys($array);

            (2.)取出所有value形成新数组:$values = array_values($array);

    (7)检查元素是否存在:

            (1.)array_key_exists(‘name‘, $array);

    (8)在数组中删除或插入元素:

         ***(1.)array_splice($array, 2, 3, $addedArray).

    (9)遍历数组:

            (1.)foreach($array as $value)

            (2.)foreach($array as $key => $value)

12.php函数:

(1)定义函数:

(1.)function name(parameters){content}

(2.)函数名不区分大小写,为了方便,内部函数全是小写

(2)变量作用域:

(1.)函数内部变量(函数级作用域)及参数不能访问外部函数,并且外部定义的变量(全局作用域)也不能被访

问.

            (2.)全局变量:使用global关键字访问或$GLOBALS[‘a’]访问.

            (3.)静态变量:static $a = 0;

    (3)函数参数:

            (1.)按值传递参数

            (2.)按引用传递参数:

                     function foo(&$num)

                     {

                          $num += 200;

                     }

作业02: 1. 查看文档

(8)在数组中删除或插入元素:

         ***(1.)array_splice($array, 2, 3, $addedArray).

 

 

array_splice() 函数从数组中移除选定的元素,并用新元素取代它。该函数也将返回包含被移除元素的数组。

注意:如果函数没有移除任何元素(length=0),则将从 start 参数的位置插入被替换数组(参见例子 2)。

注释:不保留被替换数组中的键名。

array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。

如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。

最后生成的数组将会返回。

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

参数:

array: 规定数组

start: 删除元素的开始位置

0:第一个元素

正数: 从数组中该值指定的偏移量开始移除。

负数: 从数组末端倒数

length: 可选参数, 数值, 被移除的元素个数, 也是被返回数组的长度

0:数组不会改变

正数:移除该数量的元素。

负数: 移除从start到数值末端倒数length为止中间所有元素

未设置: 移除从start参数设置的位置开始直到数组末端的所有元素

array: 可选参数, 规定带有要插入原始数组中元素的数组

如果只有一个元素, 则可以设置为字符串, 不需要设置为函数

返回值:

返回由被提取元素组成的数组

array_splice($array2, 0);
    print_r($array2) ; //  Array ( ) 全部删除
    echo ‘<br>‘;

$array3 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    array_splice($array3, 0, 2); // 从下标0开始, 删除两个元素
    print_r($array3); //
echo ‘<br>‘;
    $array4 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    array_splice($array4, 0, -2); // 从下标start0开始, 到数组倒数length为止
    print_r($array4); // Array ( [0] => 45 [1] => 23 )
echo ‘<br>‘;
    $array5 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    array_splice($array5, 5, 0); // 数组没有改变
    print_r($array5); //
    echo ‘<br>‘;

$array5 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    array_splice($array5, -5, 2); // 从倒数第五个元素开, 删除两个
    print_r($array5); //
    echo ‘<br>‘;

$array5 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    array_splice($array5, -5, -2); // 从倒数第五个元素,到倒数第二个删除 start 《 length
    print_r($array5); //
    echo ‘<br>‘;

$array5 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    $arr = array(11, 14);
    array_splice($array5, 5, 0, $arr); // 在下标为五的元素除开始添加数组arr中的元素
    print_r($array5); //
    echo ‘<br>‘;
    $array5 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    array_splice($array5, 5, 1, $arr); // 在下标为5处开始删除长度为1的元素, 同时插入arr数组中的元素
    print_r($array5); //
    echo ‘<br>‘;

$array5 = array(12, 45, 32, 26 ,15, 54, 45, 23);
    array_splice($array5, 5, 0, ‘asd‘); // 在下标为5处插入字符串
    print_r($array5); //
    echo ‘<br>‘;

1.sort() 函数对索引数组进行升序排序。

注意: 本函数为数组中的单元赋予新的键名。原有的键名将被删除。

sort(array, [sortingtype])

array: 规定要进行排序的数组

sortingtype:可选参数,

0: 默认 - SORT_REGULAR通常比较项目(不改变类型)

1: - SORT_NUMERIC 每一项当做数值进行比较

2 :- SORT_STRING  每一项当做作为字符串进行比较

3: - SORT_LOCALE_STRING 每一项当做作为字符串进行比较,根据当前区域设置。(可以使用setlocale()改变)

4:- SORT_NATURA L 每一项当做作为字符串来处理, 使用类似 natsort()的自然排序

5:- SORT_FLAG_CASE 可以结合(按位或)与SORT_STRING或SORT_NATURAL 对字符串进行排序,不区分大小写

返回值: 如果成功则返回 TRUE,否则返回 FALSE。

2.rsort() 函数对数值数组进行降序排序。

rsort(array, [sortingtype])

3.asort()  函数对数组按照键值进行升序排序 ,value对应的 key 不改变

asort(array, [sortingtype])

参数同上

4.  arsort() 函数对数组按照键值进行降序排序 , value对应的 key 不改变

5. ksort() 函数对数组按照键名进行升序排序  key升序

6. krsort() 函数对数组按照键名进行降序排序 key降序

时间: 2025-01-06 03:12:14

PHP数组、函数的相关文章

判断对象是否为数组/函数

打印Object的prototype属性: 有一个toString方法,不同于一般变量的toString方法,当Object的toString方法执行时: 1.获取当前对象的[[Class]]属性的值; 2.返回 "[object " + 第一步得出的值+ "]"格式的字符串,例如[object Array], 解析: [[Class]]是一种内部属性,所有的对象(原生对象和宿生对象)都拥有该属性,描述该对象的类型 (值得注意的是[[Class]]的值只能是Obje

数组函数

2016年11月22号 今天苦逼的学习了"几个"数组函数.不多也就30几个! 首先学习了 数组的指针:在每一个数组的内部,都有一个数组元素的指针,该指针负责指向数组内的某个元素,那么这个被指向的元素,就叫作"当前元素"!而他又有两个小弟,分别实现键和值:key:语法:key(数组名)作用:获取该数组当前元素的键!current:语法:current(数组名)作用:获取该数组当前元素的值! 然而,数组的指针不能永远只指向某个元素,应该将数组的指针在需要的时候下移一位!

PHP数组函数

数组函数: count: 返回数组的个数 explode: 把字符串切割为数组 join: 把数组连接为字符串 array_values:返回数组中的value值,组成一个新数组 array_keys :返回数组中的key值,组成一个新数组 array_pop : 删除数组中最后一组元素 list : 把数组中的值,赋值给对应的变量 next:数组中的指针往后移动一位 prev:数组中的指针往前移动一位 end:选取最后一个元素 in_array:判断数组中是否存在某个值 array_rever

自定义数组函数

// 自定义数组函数Array.prototype.maxima.//Array.prototype为必须的,maxima为数组名.//调用时arr.maxima()这样调用window.onload = function() { Array.prototype.sum = function(){ for(var sum = i = 0 ; i < this.length; i ++){ sum += parseInt(this[i]); } return sum; }; Array.proto

数组拷贝、数组函数、通过数组函数来模拟数据结构的栈和队列、回调的意义、数组函数的排序问题、算法以及寻找素数的筛选法

1.数组的拷贝数组拷贝时指针的指向问题. 数组在拷贝时,指针的位置随之复制[这一点拷贝是完全一样]但是如果拷贝的数组的指针是非法的,那么拷贝出新指针的位置进行初始化<?php$arr1=array('123');end($arr1);next($arr1);//这个指针非法$arr2 = $arr1;//这里进行数组的拷贝var_dump(current($arr2));//得到指向‘123’元素的指针var_dump(current($arr1));//此时这个数组的指针有问题?> 但是拷贝

labview学习之“创建数组”函数

“创建数组”函数 一.位置:“函数”-“编程”-“数组”-“创建数组” 其图标为: 图1 图标 二.简介: “创建数组”函数有两种模式,一种是“连接模式”,一种是“添加模式”. 如需切换两种模式,可右键单击“创建数组”函数,切换连接输入菜单项. “创建数组”函数默认输入端数量为1.如需添加输入,可右键单击该函数并从菜单中选择添加输入,或者调整函数的大小. (1)在连接模式下,输入可以同时包含n维数组.n-1维数组(n>0).“创建数组”函数通过连接输入数组的每个元素得到一个n维数组. (2)在添

js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScript使用push方法添加一个元素到数组末 JavaScript数组函数unshift、shift、pop、push使用

push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( item1 [,items... ] )参数 参数 描述item1 任意类型添加到当前数组末尾处的元素.items 可选参数/任意类型要添加到当前数组末尾处的其他项,可以有多个.注意:如果添加的元素类型为数组类型(Array),仍然会被当作一个元素看待,只是这个元素是数组类型而已.如果要合并两个数组,请使

数组、多维数组和数组函数

1.数组的基本写作格式 (1). array ("AA","BB","CC","DD"); (2). array ("AA"=>"11","BB"=>"22"); 2.数组的创建.修改.删除.使用 <?php $arr=array(array("AA","BB","CC"

【风马一族_php】数组函数

原文来自:http://www.cnblogs.com/sows/p/6045699.html (博客园的)风马一族 侵犯版本,后果自负  2016-11-09 15:56:26 数组 函数 php--数组的尝鲜事例 array_change_key_case - 返回字符串键名全为小写或大写的数组 语法:array_change_key_case(数组名); php-->修改数组的键名(下标)的字母大小写 array_chunk - 将一个数组分割成多个 语法:array_chunk(数组名,

[转] 有趣的JavaScript原生数组函数

在JavaScript中,可以通过两种方式创建数组,Array构造函数和 [] 便捷方式, 其中后者为首选方法.数组对象继承自Object.prototype,对数组执行typeof操作符返回‘object’而不是‘array’.然而执 行[] instanceof Array返回true.此外,还有类数组对象使问题更复杂,如字符串对象,arguments对象.arguments对象不是Array的实例,但却 有个length属性,并且值能通过索引获取,所以能像数组一样通过循环操作. 在本文中,