定义数组PHP数组array是一组有序的变量,其中每个变量被叫做一个元素。一、定义数组?可以用array()语言结构来新建一个数组。 它接受一定数量用逗号分隔的key=>value参数对。?array([key=>]value,...)// key可以是数字或者字符串//value可以是任何值?例子1:''w ord'',?3=>''excel'',?''outlook'',?''access'');?print_r($phpjc);??>??输出结果 如下:Array?(?[0]?=>?word?[3]?=>?excel?[4]?=>?outlook?[5]?=>?access ?)??例子1定义了一个数组,名字叫phpjc,第一个元素的值是:word,(说明:数组是从0开始计数的),第二个元素为空,第三 个元素是:excel,后面自动生成第四和第五个元素?可以通过给变量赋予一个没有参数的array()来创建空数组,然后可以通过使用 方括号[]语法来添加值。(注:另外也可用array_push()函数向数组中添加值!!!)??例子2:??array();?$phpjc[]?=?"one";?$phpjc[]?=?"two";?echo?$phpjc[0]." >";?echo?$phpjc[1];??>输出结果如下:one?two?二、读取数组元素?使用字符串索引(或键)来访问储在数 组中的值?例子3:1,"second"=>2,"third"=>3); ?echo?$phpjc["second"];?$phpjc["third"]=5;?//把第三个元素的值由“3”修改为“5”?e cho?$phpjc["third"];??>?PHP中有很多数组相关的函数,一一用实例说明了is_array()、n_arra y()、count()、array_push()、array_unshift()、array_merge()、array_pop( )、array_shift()、sort()1.is_array()函数是否为数组----------------------- ------------------------------------2.in_array()函数如果你有很大的一个数组,而所 要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true或false。如下代码将输出“Notfound inthisarray”——因为你将在$namesArray中寻找一个并不存在的“Alber”。代码sArray?=?array("Joe",?"Jane",?"Bob",?"Mary",?"Paul",?"Eddie",?"Jo hn");$lookingFor?=?"Albert";?if?(in_array($lookingFor,?$namesAr ray))?{echo?"You''ve?found?it!";}?else?{echo?"Not?found?in?this ?array!";}?>?--------------------------------------------------- --------3.count()函数如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You''ve foundit!”——因为“Mary”是$namesArray的一部分。如果希望对数组元素计数,你可以使用count()函数:< ?php?$namesArray?=?array("Joe",?"Jane",?"Bob",?"Mary",?"Paul",?" Eddie",?"John");?$count?=?count($namesArray);??>$count值将为7。----- ------------------------------------------------------4.array_pus h()函数你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合 并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。让我们从对已存在数组的末尾增添元素开始, 使用函数array_push():代码",?"orange",?"banana",?"kiwi",?"pear");/?加入到原始数组中?/array_push ($fruitArray,?"grape",?"pineapple",?"tomato");/?通过其键值列出每个元素/w hile?(list($key,$value)?=?each($fruitArray))?{echo?"$key?:?$valu e ";}?>这将显示:0?:?apple1?:?orange2?:?banana3?:?kiwi4?:?pear5?:? grape6?:?pineapple7?:?tomato?------------------------------------ -----------------------5.array_unshift()函数当你需要对数组开头添加元素时,代码非常类似。不 同处只是函数名:array_unshift()而不是array_push()。代码uitArray?=?array("apple",?"orange",?"banana",?"kiwi",?"pear");/ ?加入到原始数组中?/array_unshift($fruitArray,?"grape",?"pineapple",?"to mato");/?通过其键值列出每个元素/while?(list($key,$value)?=?each($fruitAr ray))?{echo?"$key?:?$value ";}?>这将显示:0?:?grape1?:?pineapple2 ?:?tomato3?:?apple4?:?orange5?:?banana6?:?kiwi7?:?pear?---------- -------------------------------------------------6.array_merge()函 数函数array_merge()合并两个或更多的数组。代码ray("apple",?"orange",?"banana",?"kiwi",?"pear");/?创建第二个数组?/$ vegArray?=?array("carrot",?"www.mntuku.cn",?"asparagus",?"articho ke",?"corn");/?合并为一个数组?/$goodfoodArray?=?array_merge($fruitAr ray,?$vegArray);/?通过其键值列出每个元素/while?(list($key,$value)?=?each ($goodfoodArray))?{echo?"$key?:?$value ";}?>这将显示:0?:?apple1? :?orange2?:?banana3?:?kiwi4?:?pear5?:?carrot6?:?green?beans7?:?as paragus8?:?artichoke9?:?corn?现在已经对数组进行了增加元素和合并,现在来练习删除元素函数。你可以使用函 数array_pop()从一数组末尾删除一个元素。如果使用函数array_shift(),则从一数组开头删除一个元素。而实际上当 你从数组删除元素时,此元素对你而言仍然可用——当你从已存在的数组中对元素进行pop或shift时。------------- ----------------------------------------------7.array_pop()函数使用ar ray_pop()函数从数组末尾删除一个值:代码le",?"orange",?"banana",?"kiwi",?"pear");/?在末尾弹出某值?/$popped?= ?array_pop($fruitArray);/?列出新数组内容,以及弹出的值/while?(list($key,$va lue)?=?each($fruitArray))?{echo?"$key?:?$value ";}echo?" >and?finally,?in?$popped:?$popped";?>这将显示:0?:?apple1?:?orange2?:? banana3?:?kiwi?and?finally,?in?$popped:?pear?-------------------- ---------------------------------------8.array_shift()函数下面,从数组末尾删 除某值:代码nana",?"kiwi",?"pear");/?从数组头部移出某值?/$shifted?=?array_shift($f ruitArray);/?列出新数组的内容以及移出的值/while?(list($key,$value)?=?each($ fruitArray))?{echo?"$key?:?$value ";}echo?" and?finally, ?in?$shifted:?$shifted";?>这将显示:0?:?orange1?:?banana2?:?kiwi3?:?pe ar?and?finally,?in?$shifted:?apple?------------------------------ -----------------------------9.sort()函数有很多函数可以帮助你对数组元素排序。但我将会演示基本 的排序以帮助你了解其过程:代码";}?>这将显示:0?:?apple1?:?banana2?:?kiwi3?:?orange4?:?pear? |
|