php如何比较两个数组是否相等???
$b = array('aaa','ddd','aaa','bbb');
如果一定要使用内置函数,哪一个排序函数速度最快???
++++++++++++++++++++++++++++++++++++++++++++++
$c = array_diff($a, $b);
print_r($c);//输出array()
$c = array_diff($a, $b);
print_r($c);//输出array('aaa1')
array->xml http://www.cnblogs.com/andybegin/archive/2012/03/30/2425864.html
<?php function array2xml($array, $tag) {
function ia2xml($array) { $xml=""; foreach ($array as $key=>$value) { if (is_array($value)) { $xml.="<$key>".ia2xml($value)."</$key>"; } else { $xml.="<$key>".$value."</$key>"; } } return $xml; }
return simplexml_load_string("<$tag>".ia2xml($array)."</$tag>"); }
$test['type']='lunch'; $test['time']='12:30'; $test['menu']=array('entree'=>'salad', 'maincourse'=>'steak');
echo array2xml($test,"meal")->asXML(); ?>
xml->array
method1:
function xml2phpArray($xml,$arr){ $iter = 0; foreach($xml->children() as $b){ $a = $b->getName(); if(!$b->children()){ $arr[$a] = trim($b[0]); }else{ $arr[$a][$iter] = array(); $arr[$a][$iter] = xml2phpArray($b,$arr[$a][$iter]); $iter++; } } return $arr; }
$xml = <<<XML <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> <a><c>ccc</c><e>eee</e></a> </note> XML;
print_r(xml2phpArray(simplexml_load_string ( $xml ),array()));
method2:
function XML2Array ( $xml , $recursive = false ) { if ( ! $recursive ) { $array = simplexml_load_string ( $xml ) ; } else { $array = $xml ; } $newArray = array () ; $array = ( array ) $array ; foreach ( $array as $key => $value ) { $value = ( array ) $value ; if ( isset ( $value [ 0 ] ) ) { $newArray [ $key ] = trim ( $value [ 0 ] ) ; } else { $newArray [ $key ] = XML2Array ( $value , true ) ; } } return $newArray ; }
1 数组被作为排序函数的参数,排序以后,数组本身就发生了改变,函数的返回值为bool类型。 2 函数名中出现单a表示association,含义为,在按值排序的过程中,保持key=>value的对应关系不变 3 函数名中出现单k表示key,含义为,在按值排序的过程中按照数组key而不是数组的值排序 4 函数名中出现单r的表示reverse,含义为,按照跟不加r的相反的顺序排列 5 函数名中出现单u的表示user-defined,含义为,使用用户自定义函数排序,如果函数的逻辑是参数1<参数2返回负数,则按照升序排列(p1小2返负升)。
boolsort ( array &$array [, int $sort_flags= SORT_REGULAR ] )
<?php $fruits = array ( "lemon" , "orange" , "banana" , "apple" ); sort( $fruits ); var_dump( $fruits ); ?> |
结果:array(4) { [0]=> string(5) "apple" [1]=> string(6) "banana" [2]=> string(5) "lemon" [3]=> string(6) "orange" }
--------------------rsort降序排列-------------------- <?php $fruits = array("lemon", "orange", "banana", "apple"); rsort($fruits); var_dump($fruits); ?>
结果:array(4) { [0]=> string(6) "orange" [1]=> string(5) "lemon" [2]=> string(6) "banana" [3]=> string(5) "apple" }
---------------asort按照二维数组值的升序排列(保持key=>value的关联关系)----------- <?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); asort($fruits); var_dump($fruits); ?> 结果:array(4) { ["c"]=> string(5) "apple" ["b"]=> string(6) "banana" ["d"]=> string(5) "lemon" ["a"]=> string(6) "orange" }
--------------arsort按照二维数组值的降序排列(保持key=>value的关联关系)-------------- <?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); arsort($fruits); var_dump($fruits); ?> 结果:array(4) { ["a"]=> string(6) "orange" ["d"]=> string(5) "lemon" ["b"]=> string(6) "banana" ["c"]=> string(5) "apple" }
-----------------ksort按照数组的key升序排列-------------- <?php $fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple"); ksort($fruits); var_dump($fruits); ?>
结果:array(4) { ["a"]=> string(6) "orange" ["b"]=> string(6) "banana" ["c"]=> string(5) "apple" ["d"]=> string(5) "lemon" }
---------------------krsort按照数组key的降序排列-------------------------------- <?php $fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple"); krsort($fruits); var_dump($fruits); ?> 结果:array(4) { ["d"]=> string(5) "lemon" ["c"]=> string(5) "apple" ["b"]=> string(6) "banana" ["a"]=> string(6) "orange" }
----------------usort函数按照用户自定义的函数排序---------------- <?php function cmp($a, $b) { if ($a == $b) { return 0;} return ($a < $b) ? -1 : 1; } $a = array(3, 2, 5, 6, 1); usort($a, "cmp"); var_dump($a); ?> 结果:array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(5) [4]=> int(6) }
-----------------uksort使用自定义函数按照数组的key排序----------------- <?php function cmp($a, $b) { $a = preg_replace('@^(a|an|the) @', '', $a); $b = preg_replace('@^(a|an|the) @', '', $b); return strcasecmp($a, $b); } $a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4); uksort($a, "cmp"); var_dump($a); ?> 结果:array(4) { ["an apple"]=> int(3) ["a banana"]=> int(4) ["the Earth"]=> int(2) ["John"]=> int(1) }
-------------------uasort将数组用自定义函数按照value排序,保持索引关系不变--------- <?php function cmp($a, $b) { if ($a == $b) { return 0;} return ($a < $b) ? -1 : 1; } $array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4); var_dump($array); uasort($array, 'cmp'); var_dump($array); ?> 结果:array(8) { ["d"]=> int(-9) ["h"]=> int(-4) ["c"]=> int(-1) ["e"]=> int(2) ["g"]=> int(3) ["a"]=> int(4) ["f"]=> int(5) ["b"]=> int(8) }
-------------------array_multisort排序多个数组或多维数组--------- <?php $ar = array( array("10",11,100,100,"a"), array(1,2,"2",3,1) ); array_multisort($ar[0], SORT_ASC, SORT_STRING,$ar[1], SORT_NUMERIC, SORT_DESC); var_dump($ar); ?> 结果:array(2) { [0]=> array(5) { [0]=> string(2) "10" [1]=> int(100) [2]=> int(100) [3]=> int(11) [4]=> string(1) "a" } [1]=> array(5) { [0]=> int(1) [1]=> int(3) [2]=> string(1) "2" [3]=> int(2) [4]=> int(1) } }
//说明: 1 上例中:$ar数组优先按照$ar[0]的字符串值升序排列,如果字符串值相等,再按照$ar[1]数组的数字值降序排列。 2 array_multisort函数的任意一个位置的参数如果是数组,表示排序时用的值, 如果有多个数组参数,优先按照前边的数组值进行排序,如果是常量,例如 SORT_ASC, SORT_DESC, SORT_REGULAR,SORT_NUMERIC, SORT_STRING. 表示排序方法(数组取值前优先)。
PHP二维数组排序函数 PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:
function array_sort( $arr , $keys , $type = 'asc' ){ $keysvalue = $new_array = array (); foreach ( $arr as $k => $v ){ $keysvalue [ $k ] = $v [ $keys ]; } if ( $type == 'asc' ){ asort( $keysvalue ); } else { arsort( $keysvalue ); } reset( $keysvalue ); foreach ( $keysvalue as $k => $v ){ $new_array [ $k ] = $arr [ $k ]; } return $new_array ; } |
$array = array( array('name'=>'手机','brand'=>'诺基亚','price'=>1050), array('name'=>'笔记本电脑','brand'=>'lenovo','price'=>4300), array('name'=>'剃须刀','brand'=>'飞利浦','price'=>3100), array('name'=>'跑步机','brand'=>'三和松石','price'=>4900), array('name'=>'手表','brand'=>'卡西欧','price'=>960), array('name'=>'液晶电视','brand'=>'索尼','price'=>6299), array('name'=>'激光打印机','brand'=>'惠普','price'=>1200) ); $ShoppingList = array_sort($array,'price'); print_r($ShoppingList);
$xml = <<<XML <?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> <a><b><c>ccc</c></b><e>eee</e></a> </note> XML;
print_r(XML2Array($xml));
json->array
json_decode($json,true);//第二个参数为true时 即为array
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json)); var_dump(json_decode($json, true));
array->json
json_encode 数组-》json
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
,1.array_filter(array input,callback callback)
作用:通过过滤函数过滤数组元素
返回值:array
注意:callback函数要带有参数,数组input的每个元素将会通过callback函数进行过滤。
2.array_intersect(array arr1,array arr2[,array arrn])
作用:以arr1为准,计算数组交集。
返回值:array。该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。
注意:键名保留不变。
3.array_merge(array $array1 [, array $array2 [, array $... ]])
作用:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
返回值:array
4.array_pop ( array &$array )
作用:弹出array的最后一个元素,并将长度减1,如果 array 为空(或者不是数组)将返回 NULL。
返回值:被弹出的值。。
5.array_push(array &$array , mixed $var [, mixed $... ])
作用:将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。
返回值:array
6.array_rand(array $input [, int $num_req ])
作用:在你想从数组中取出一个或多个随机的单元时相当有用。它接受 input 作为输入数组和一个可选的参数 num_req ,指明了你想取出多少个单元 - 如果没有指定,默认为 1。
如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就返回一个包含随机键名的数组。这样你就可以随机从数组中取出键名和值。
7. array_shift(array &$array)
作用:将 array 的第一个单元移出并作为结果返回,将 array 的长度减一并将所有其它单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名将不变。如果 array 为空(或者不是数组),则返回 NULL。
8.array_sum(array $array)
作用:将数组中的所有值的和以整数或浮点数的结果返回。
9.in_array(mixed $needle , array $haystack [, bool $strict ])
作用:检查数组中是否存在某个值。在 haystack 中搜索 needle ,如果找到则返回 TRUE,否则返回 FALSE。
10.range(mixed $low , mixed $high [, number $step ])
作用:返回数组中从 low 到 high 的单元,包括它们本身。如果 low > high,则序列将从 high 到 low。如果给出了 step 的值,它将被作为单元之间的步进值。step 应该为正值。如果未指定,step 则默认为 1。
11.shuffle(array &$array)
作用:本函数打乱(随机排列单元的顺序)一个数组。
12.unique(array $array)
作用:删除数组中重复的值。并返回没有重复的新数组。
<?php
/* 本地缓存文件名称 */
$tempfile = "sms.php";
$smsdata = array();
$getTime = 3 ;
/**
* 文件是否需要读取远程
*
* @return boolean 获取远程数据文件
*/
function getFileReader() {
/* 引入全局变量 */
global $tempfile,$smsdata,$getTime;
try {
if( time() - filemtime($tempfile) < $getTime ) {
/* 本地 */
$smsdata = include $tempfile;
} else {
/* 远程 */
if( getHttpFileGyArray() === false ) $smsdata = include $tempfile;
}
} catch (FtpException $e) {
/* 远程 */
if( getHttpFileGyArray() === false ) $smsdata = array();
}
}
/**
* 获取HTTP请求远程数据文件
*
* @param string $url 地址
*
* @return boolean/array 获取远程数据文件
*/
function getHttpFileGyArray( $url ) {
/* 引入全局变量 */
global $tempfile,$smsdata;
try {
/* 读取数据 */
$text = @file_get_contents($url);
$text = explode('@',$text);
/* 生成PHP数组内容 */
foreach( $text as $key => $row ) {
$at = explode('|',$row);
$smsdata[$at[0]]['dx'] = $at[1];
}
/* 缓存到本地 */
$content = "<?php\n\n return ".var_export($smsdata, true).";\n";
file_put_contents($tempfile, $content);
} catch (FtpException $e) {
$smsdata = array();
return false;
}
return true;
}
getFileReader();
print_r($smsdata);
?>
php函数有很多,需要时查询api。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
<?php /* #数组 没有限制大小:$arr[0]=1;$arr[1]=2; $arr=array("0","1");$list($num1,$num2)=$arr; array range(int low,int high[,int step]) low最小数,high最高数,step步长 int array_unshift(array array,mixed vari) 数组前面插入 array_push 数组尾添加 array_shift 数组头部删除 array_pop 数组尾部删除 #定位数组 boolean in_array(mixed needle,array haystack,[,boolean strict]) boolean array_key_exists(mixed key,array array) 搜索关键键 array_search() 搜索关联数组值 array_keys()返回数组,包含所搜索的的所有键 array_values()返回数组所有值。 #遍历数组 mixed key(array array) current(array array) 获取当前数组值 array each(array array) 返回当前键、值对 next(array array) 指向下一个 prev(array array) 移到前一个 reset(array array)移到第一个 end(array array)移到最后一个 #向函数传递数组值 boolean array_walk(array &array,callback function,[,mixed userdata]) #确定数组的大小及唯一性 integer count(array array[,int mode]) 类似sizeof() array array_count_values(array array) 分组统计每个值出现的次数 array_unique() 删除重复值,保持唯一性 #排序 array_reverse()顺序逆置 array_flip() 对换键与值 void sort(array array[,int sort_flags]) sort_flgs{[SORT_NUMBERIC数值排序],[SORT_REGULAR 按ASCII排序],[SORT_STRING]} asort()升序 rsort()逆序 arsort()逆序 natsort()自然排序 natcasesort()不区分大小写自然排序 ksort()键值排序 krsort()逆序键值排序 void usort(array array,callback function name) 用户自定义排序 #合并,拆分,结合,分解数组 array_merge_recursive() 合并 array_merge_combine() 追加 array_merge()连接到新数组 array_slice(array array,int offse[,int length]) 拆分 array_intersect()、array_intersect_assoc()数组交集 array_diff()、array_diff_assoc()差集 array_rand()、shuffle()随机数组 array_sum()求和 array_chunk 分成多维数组 */ //创建0-20的偶数数组,2为步长 $even =range(0,20,2); //打印数组 print_r( $even ); //判断是否为数组 printf( "this number is an array:%s<br/>" ,( is_array ( $even )? "true" : "false" )); echo "<br>" ; //数组头部添加子项,并打印 array_unshift ( $even ,522,54); print_r( $even ); //定义一变量,然后在数组中搜索,存在时显示找到该变量。 $sa =522; if (in_array( $sa , $even )){ echo "find it $sa" ; }; echo "<br/>" ; //搜索数组关键键 if ( array_key_exists (4, $even )){ echo $even [4]. " exists." ; } echo "<br/>" ; print_r( array_values ( $even )); //遍历打印数组 while ( $key =key( $even )){ echo "<br/>" . $key ; next( $even ); } //统计数组大小 echo "<br/>" ; echo count ( $even ); //排序 echo "<br>" ; sort( $even ); print_r( $even ); ?> |
这篇文章将介绍10个操作PHP关联数组的技巧,熟练运用能帮助你提高开发效率。
1、添加数组元素
PHP是一种弱类型语言,这意味着你不需要显示声明一个数组及其大小,相反,你可以同时声明并填充数组。
- $capitals = array(
- 'Alabama' => 'Montgomery',
- 'Alaska' => 'Juneau',
- 'Arizona' => 'Phoenix'
- );
额外的数组元素可以象下面这样追加:
- $capitals['Arkansas'] = 'Little Rock';
如果你正在处理数字索引数组,你可能想使用显示命名的函数前置和追加元素,如array_push()和array_unshift()函数,但这些函数不能操作关联数组。
2、删除数组元素
如果要从数组中删除一个元素,请使用unset()函数,如:
- unset($capitals['California']);
使用数字索引数组时,删除数组元素的办法更多,更灵活,可以使用array_shift()和array_pop()函数分别从数组的开头和末尾删除一个元素。
3、交换键和值
假设你想创建一个名叫$states的新数组,使用州府作为索引,使用州名作为关联值,使用array_flip()函数很容易完成这个任务。
- $capitals = array(
- 'Alabama' => 'Montgomery',
- 'Alaska' => 'Juneau',
- 'Arizona' => 'Phoenix'
- );
- $states = array_flip($capitals);
- // $states = array(
- // 'Montgomery' => string 'Alabama',
- // 'Juneau' => string 'Alaska',
- // 'Phoenix' => string 'Arizona'
- // );
4、合并数组
假设前面的数组由一个基于Web的“FlashCard”服务使用,你想提供一种方法测试学生对美国各州首府的掌握情况,你可以使用array_merge()函数合并包含州和首府的数组。
- $stateCapitals = array(
- 'Alabama' => 'Montgomery',
- 'Alaska' => 'Juneau',
- 'Arizona' => 'Phoenix'
- );
- $countryCapitals = array (
- 'Australia' => 'Canberra',
- 'Austria' => 'Vienna',
- 'Algeria' => 'Algiers'
- );
- $capitals = array_merge($stateCapitals, $countryCapitals);
5、编辑数组值
假设在数组中的数据包含大小写错误,在插入到数据库之前,你想纠正这些错误,你可以使用array_map()函数给每个数组元素应用一个回调。
- function capitalize($element)
- {
- $element = strtolower($element);
- return ucwords($element);
- }
- $capitals = array(
- 'Alabama' => 'montGoMEry',
- 'Alaska' => 'Juneau',
- 'Arizona' => 'phoeniX'
- );
- $capitals = array_map("capitalize", $capitals);
6、按键对数组排序
FlashCard程序常常使用各种排序,如按字母顺序排序,你可以使用ksort()函数按键对关联数组进行排序。
- $capitals = array(
- 'Arizona' => 'Phoenix',
- 'Alaska' => 'Juneau',
- 'Alabama' => 'Montgomery'
- );
- ksort($capitals);
因为数组是通过参数传递给ksort()函数的,意味着你不再需要将排序结果分配给另一个变量。
7、随机数组排序
在FlashCard程序中还涉及到另一种随机排序技术,这时你要使用shuffle()函数实现数组项目的随机排序。
- $capitals = array(
- 'Arizona' => 'Phoenix',
- 'Alaska' => 'Juneau',
- 'Alabama' => 'Montgomery'
- );
- shuffle($capitals);
如果不需要打乱数组顺序,你只是想随机选择一个值,那么使用array_rand()函数即可。
8、确定键和值是否存在
你可以使用in_array()函数确定一个数组元素是否存在。
- $capitals = array(
- 'Arizona' => 'Phoenix',
- 'Alaska' => 'Juneau',
- 'Alabama' => 'Montgomery'
- );
- if (in_array("Juneau", $capitals))
- {
- echo "Exists!";
- } else {
- echo "Does not exist!";
- }
很少有人知道这个函数也可以确定一个数组键是否存在,在这一点上,它和array_key_exists()函数的功能一样。
- $capitals = array(
- 'Arizona' => 'Phoenix',
- 'Alaska' => 'Juneau',
- 'Alabama' => 'Montgomery'
- );
- if (array_key_exists("Alaska", $capitals))
- {
- echo "Key exists!";
- } else {
- echo "Key does not exist!";
- }
9、搜索数组
你可能想搜索数组资源,这样用户就可以方便地用一个特定的州府检索关联的州,可以通过array_search()函数实现数组搜索。
- $capitals = array(
- 'Arizona' => 'Phoenix',
- 'Alaska' => 'Juneau',
- 'Alabama' => 'Montgomery'
- );
- $state = array_search('Juneau', $capitals);
- // $state = 'Alaska'
10、标准PHP库
标准PHP库(Standard PHP Library,SPL)为开发人员提供了许多数据结构,迭代器,接口,异常和其它以前PHP语言没有的功能,使用这些功能可以通过面向对象的语法遍历数组。
- $capitals = array(
- 'Arizona' => 'Phoenix',
- 'Alaska' => 'Juneau',
- 'Alabama' => 'Montgomery'
- );
- $arrayObject = new ArrayObject($capitals);
- foreach ($arrayObject as $state => $capital)
- {
- printf("The capital of %s is %s<br/>", $state, $capital);
- }
- // The capital of Arizona is Phoenix
- // The capital of Alaska is Juneau
- // The capital of Alabama is Montgomery
这仅仅是SPL众多伟大功能中的一个,一定要阅读PHP文档了解更多信息。
方法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<?php // 去除数组中指定的元素 $arr = array ( array ( 'id' => 1, 'name' => 'lili' ), array ( 'id' => 2, 'name' => 'abo' ), array ( 'id' => 3, 'name' => 'wewe' ), ); function filt( $var ) { if ( $var [ 'name' ] != 'abo' ) { // callback 函数返回true,则 input数组的当前值会被包含在返回的结果数组中。 // 数组的键名保留不变 return true; } } $arr1 = array_filter ( $arr , 'filt' ); print_r( $arr ); print_r( $arr1 ); |
方法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php $arr = array ( array ( 'id' => 1, 'name' => 'lili' ), array ( 'id' => 2, 'name' => 'abo' ), array ( 'id' => 3, 'name' => 'wewe' ), ); print_r( $arr ); foreach ( $arr as $key => $value ) { if ( $value [ 'name' ] == 'abo' ) { unset( $arr [ $key ]); } } print_r( $arr ); |
定义数组
数组array是一组有序的变量,其中每个变量被叫做一个元素。
一、定义数组 可以用 array() 语言结构来新建一个数组。它接受一定数量用逗号分隔的 key => value 参数对。 array( [key =>] value , ... ) // key 可以是 数字 或者 字符串 // value 可以是任何值 例子1:
输出结果如下 :
例子1定义了一个数组,名字叫phpjc,第一个元素的值是:word,(说明:数组是从0开始计数的),第二个元素为空,第三个元素是:excel,后面自动生成第四和第五个元素 可以通过给变量赋予一个没有参数的array()来创建空数组,然后可以通过使用方括号[]语法来添加值。(注:另外也可用array_push()函数向数组中添加值!!!) 例子2:
输出结果如下 :
二、读取数组元素 使用字符串索引(或键)来访问储在数组中的值 例子3:
PHP中有很多数组相关的函数,一一用实例说明了is_array()、n_array()、count()、array_push()、array_unshift()、array_merge()、array_pop()、array_shift()、sort()
1.is_array()函数
是否为数组 ----------------------------------------------------------- 2.in_array()函数 如果你有很大的一个数组,而所要完成的仅是找出一个存在的给定值,你可以使用in_array()以返回true 或 false。如下代码将输出“Not found in this array”——因为你将在$namesArray中寻找一个并不存在的“Alber ”。
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
-----------------------------------------------------------
3.count()函数 如果你改变了$lookingFor的值,将其变为“Mary”,你将得到消息“You've found it!”——因为“Mary”是$namesArray的一部分。 如果希望对数组元素计数,你可以使用count()函数:
$count值将为7。 -----------------------------------------------------------
4.array_push()函数 你可以对任何数组添加元素,无论是在已存在数组的开始或末尾。你也可以使用函数以创建一个包含两个或多个数组元素的新数组。合并时每个数组将按需要的顺序排列。如果你的数组已经有内部的排序,你需要对新的合并数组重排序。让我们从对已存在数组的末尾增添元素开始,使用函数array_push():
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
这将显示:
----------------------------------------------------------- 5.array_unshift()函数 当你需要对数组开头添加元素时,代码非常类似。不同处只是函数名:array_unshift() 而不是array_push()。
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
这将显示:
----------------------------------------------------------- 6.array_merge()函数 函数array_merge()合并两个或更多的数组。
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
这将显示:
现在已经对数组进行了增加元素和合并,现在来练习删除元素函数。你可以使用函数array_pop()从一数组末尾删除一个元素。如果使用函数 array_shift(),则从一数组开头删除一个元素。而实际上当你从数组删除元素时,此元素对你而言仍然可用——当你从已存在的数组中对元素进行 pop 或 shift时。
-----------------------------------------------------------
7.array_pop()函数 使用array_pop()函数从数组末尾删除一个值:
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
这将显示:
----------------------------------------------------------- 8.array_shift()函数 下面,从数组末尾删除某值:
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
这将显示:
----------------------------------------------------------- 9.sort()函数 有很多函数可以帮助你对数组元素排序。但我将会演示基本的排序以帮助你了解其过程:
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
这将显示: