本文实例总结了PHP数组用法。分享给大家供大家参考,具体如下:
Demo1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php //创建一个数组变量 $userNames = array ( '张三' , '李四' , '王五' ); //将这个数组打印出来 // echo $userNames;//Array // $userName = '张三'; // echo $userName;//张三 //如果你想打印出这个数组的某一个元素 //那你必须找到这个元素的下标,键(key) //0,1,2 //echo $userNames[2];//王五 //print_r -- 打印关于变量的易于理解的信息。 //print_r($userNames);//Array ( [0] => 张三 [1] => 李四 [2] => 王五 ) //$userNames 是一个数组变量,而 $userNames[x] 可以理解成数组变量下的小变量 $userNames [4] = '赵七' ; print_r( $userNames ); //Array ( [0] => 张三 [1] => 李四 [2] => 王五 [4] => 赵七 ) ?> |
Demo2.php
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php //range -- 建立一个包含指定范围单元的数组 //range 包含指定数组 //包含两种东西,一种叫做键(key),一种叫做值(value) //key 是自动生成的,默认从 0 开始,每次 +1 //value 是你自己赋值的 //$numbers = range(1,4); //print_r($numbers); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) // $letters = range('a','e'); // print_r($letters);//Array ( [0] => a [1] => b [2] => c [3] => d [4] => e ) // echo $letters[3]; ?> |
Demo3.php
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
|
<?php $userNames = array ( '张三' , '李四' , '王五' ); //通过循环来显示数组里的所有值 //从 0-5 之间循环 // for($i=0;$i<3;$i++){ // echo ($i+1).'-->'.$userNames[$i].'<br/>'; // } /* * 1-->张三 * 2-->李四 * 3-->王五 * */ // echo count($userNames); //3 // for($i=0;$i<count($userNames);$i++){ // echo ($i+1).'-->'.$userNames[$i].'<br/>'; // } //如果 key 不是从 0 开始,或者说,压根不是数字,那么就无法用无精打采循环来实现显示数据列表 //通过 foreach 循环来遍历数组,这方式好处,不需要去考虑 key // foreach ($userNames as $value){ // echo $value.'<br/>'; // } //foreach 遍历 $key => $value // foreach ($userNames as $keyaaa => $value){ // echo $keyaaa.'-->'.$value.'<br/>'; // } /** * 0-->张三 * 1-->李四 * 2-->王五 * */ //所以,你要先做个判断 if ( is_array ( $userNames )){ foreach ( $userNames as $key => $value ){ echo $key . '-->' . $value . '<br/>' ; } } else { echo $userNames ; } ?> |
Demo4.php
1
2
3
4
5
|
<?php $userNames = array ( '张三' , '李四' , '王五' ); print_r( $userNames ); echo $userNames [0]; ?> |
Demo5.php
1
2
3
4
5
6
7
8
9
|
<?php //创建自定义键(key)的数组 //如果你不去声明元素的 key ,那么从开始 0 计算 // $userNames = array('baidu'=>'张三','李四','王五'); // print_r($userNames); //Array ( [baidu] => 张三 [0] => 李四 [1] => 王五 ) $userNames = array ( 'baidu' => '张三' , 'taobao' => '李四' , '360' => '王五' ); print_r( $userNames ); //Array ( [baidu] => 张三 [taobao] => 李四 [360] => 王五 ) echo $userNames [ 'baidu' ]; ?> |
Demo6.php
1
2
3
4
5
6
7
8
9
10
|
<?php //先创建只一个元素的数组 $userAge = array ( 'chaoyv' =>25); //打印出 chaoyv 的年龄 //echo $userAge['chaoyv']; //25 //将以前的数组,追加两条,这里说的下标,键,key 是一个东西 $userAge [ 'yike' ] = 30; $userAge [ 'wife' ] = 24; print_r( $userAge ); ?> |
Demo7.php
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php //array 关键字都可以不要,就能创建数组 $userAges [ 'chaoyv' ] = 25; //print_r($userAges); //Array ( [chaoyv] => 25 ) $userAges [ 'yike' ] = 30; $userAges [ 'wife' ] = 24; //print_r($userAges); //Array ( [chaoyv] => 25 [yike] => 30 [wife] => 24 ) //这里无法使用 for 循环将数据全部显示出来,只能通过 foreach 遍历出来 foreach ( $userAges as $value ){ echo $value . '<br/>' ; } ?> |
Demo8.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php // $userAges['chaoyv'] = 25; // $userAges['yike'] = 30; // $userAges['wife'] = 24; $username = array ( '世' => '何开' , '血' => '赵血儿' , '学' => '墨学之' ); //print_r($username); //each 的使用 //each -- 返回数组中当前的键/值对并将数组指针向前移动一步 //这里有一个指针,默认情况下,指针是指定第一个键值对 //这里的第一个键值对是 '世'=>'何开' //如果each($username),那么获取的就是第一个键值对 '世'=>'何开' //each 这个函数返回的是一个数组, //each 将第一个键值对获取到,然后包装成一个新的数组。 //print_r(each($username)); //相当于 $a = Array ( [1] => 何开 [value] => 何开 [0] => 世 [key] => 世 ) //$a = each($username); //echo $a[value]; print_r(each( $username )); echo '<br/>' ; print_r(each( $username )); ?> |
Demo9.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php $username = array ( '世' => '何开' , '血' => '赵血儿' , '学' => '墨学之' ); //这里,我们怎么使用 each 来循环所有的数据呢? //相当于 $a = Array ( [1] => 何开 [value] => 何开 [0] => 世 [key] => 世 ) //两个感叹号,表示真是存在的数据转换成布尔值 // echo !!each($username);//说明有数据,有数据,用布尔值的理念就是真(true) // echo !!each($username); // echo !!each($username); // echo !!each($username);//第四个是假的 while (!! $a = each( $username )){ echo $a [ 'key' ]. '-->' . $a [ 'value' ]. '<br/>' ; } // $a = each($username); // echo $a[0].'---'.$a[1].'<br/>'; // $a = each($username); // echo $a[0].'---'.$a[1].'<br/>'; // $a = each($username); // echo $a[0].'---'.$a[1].'<br/>'; // /** // * 世---何开 // * 血---赵血儿 // * 学---墨学之 // * */ ?> |
Demo10.php
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
|
<?php // $usernames = array('世'=>'何开','血'=>'赵血儿','学'=>'墨学之'); // $a = each($usernames); // //世-->何开 // echo $a['key']; // echo '-->'; // echo $a['value']; // $a = each($usernames); // //血-->赵血儿 // echo $a['key']; // echo '-->'; // echo $a['value']; // //list -- 把数组中的值赋给一些变量 // $a = array('aaa','bbb','ccc','ddd'); //// print_r($a);//Array ( [0] => aaa [1] => bbb [2] => ccc [3] => ddd ) // list($var1,$var2,$var3,$var4) = $a; // echo $var4; // $usernames = array(0=>'何开','血'=>'赵血儿','学'=>'墨学之'); // //list 只能认识 key 为数字的 // //自定义的字符串 key 是无法使用 list 来识别的 // list($a,$b,$c) = $usernames; // echo $a;//何开 $usernames = array ( '世' => '何开' , '血' => '赵血儿' , '学' => '墨学之' ); //相当于 $a = Array ( [1] => 何开 [value] => 何开 [0] => 世 [key] => 世 ) list( $name , $username ) = each( $usernames ); echo $username ; ?> |
Demo11.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php $usernames = array ( '世' => '何开' , '血' => '赵血儿' , '学' => '墨学之' ); $a =each( $usernames ); echo $a [key]; $a =each( $usernames ); echo $a [key]; //第三次,我想取数组的第一条数组 //只要将数组的指针调整到第一个位置即可 //reset -- 将数组的内部指针指向第一个单元 reset( $usernames ); $a = each( $usernames ); echo $a [key]; //世血世 ?> |
Demo12.php
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php // $usernames = array('世'=>'何开','境'=>'何开','血'=>'赵血儿','学'=>'墨学之'); // print_r($usernames); // echo '<br/>'; // //array_unique -- 移除数组中重复的值 // //创建了一个新数组,而新数组呢,已经移除掉了,旧的数组原封不动 // $a = array_unique($usernames); // print_r($a); $numbers = array (1,24,2,1,3,4,2,6,4,2,4,56,2,4,5); print_r( $numbers ); $newNumbers = array_unique ( $numbers ); print_r( $newNumbers ); ?> |
Demo13.php
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php $usernames = array ( '世' => '何开' , '境' => '何开' , '血' => '赵血儿' , '学' => '墨学之' ); print_r( $usernames ); echo '<br/>' ; //array_flip -- 交换数组中的键和值 $newUsernames = array_flip ( $usernames ); print_r( $newUsernames ); /** * Array ( [世] => 何开 [境] => 何开 [血] => 赵血儿 [学] => 墨学之 ) * Array ( [何开] => 境 [赵血儿] => 血 [墨学之] => 学 ) * */ ?> |
Demo14.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php //创建一个单一的数组 $products = array ( array ( '苹果' , '6' , '28.8' ), array ( '猪肉' , '2' , '18.8' ), array ( '饼干' , '4' , '48.8' ) ); //print_r($products); //将 $products 第一条元素取出来 //print_r($products[2]); //数组里的数组 echo "|" . $products [0][0]. "|" . $products [0][1]. "|" . $products [0][2]. "|<br />" ; echo "|" . $products [1][0]. "|" . $products [1][1]. "|" . $products [1][2]. "|<br />" ; echo "|" . $products [2][0]. "|" . $products [2][1]. "|" . $products [2][2]. "|<br />" ; ?> |
Demo15.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php //创建一个单一的数组 $products = array ( array ( '苹果' , '6' , '28.8' ), array ( '猪肉' , '2' , '18.8' ), array ( '饼干' , '4' , '48.8' ) ); //首先要求出外面数组的长度 //echo count($products); for ( $i =0; $i < count ( $products ); $i ++){ for ( $j =0; $j < count ( $products [ $i ]); $j ++){ echo '|' . $products [ $i ][ $j ]; } echo "|<br/>" ; } /* * |苹果|6|28.8| * |猪肉|2|18.8| * |饼干|4|48.8| * **/ ?> |
Demo16.php
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
|
<?php //创建一个单一的数组 $products = array ( array ( '产品' => '苹果' , '数量' => '6' , '价格' => '28.8' ), array ( '产品' => '猪肉' , '数量' => '3' , '价格' => '25.8' ), array ( '产品' => '饼干' , '数量' => '2' , '价格' => '26.8' ) ); //print_r($products) ; // for($i=0;$i<count($products);$i++){ // foreach ($products[$i] as $key => $value){ // echo $key.'--'.$value.'|'; // } // echo '<br/>'; // } for ( $i =0; $i < count ( $products ); $i ++){ while (!!list( $key , $value )=each( $products [ $i ])){ echo $key . '--' . $value . '|' ; } echo '<br/>' ; } /** * 产品--苹果|数量--6|价格--28.8| * 产品--猪肉|数量--3|价格--25.8| * 产品--饼干|数量--2|价格--26.8| * */ ?> |
Demo17.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php // //sort -- 对数组排序 // $fruit = array('banner','orange','apple'); // //没有排序前,一般是按照 key 的顺序进行显示 // //print_r($fruit); // //排序之后 // sort($fruit); // print_r($fruit); $numbers = array (45,44,27,574,241,7,45,1,5,2,4,5); print_r( $numbers ); rsort( $numbers ); echo '<br/>' ; print_r( $numbers ); //按照数字的话,要看整体的数字的大小,按照字符串的话,只看第一位大小 // $numbers = array(2,12,3); // sort($numbers,SORT_NUMERIC); // print_r($numbers);Array ( [0] => 2 [1] => 3 [2] => 12 ) // $numbers = array(2,12,3); // sort($numbers,SORT_STRING); // print_r($numbers);//Array ( [0] => 12 [1] => 2 [2] => 3 ) ?> |
Demo18.php
1
2
3
4
5
6
7
8
9
10
|
<?php //asort -- 对数组进行排序并保持索引关系 $fruit = array ( 'banner' , 'orange' , 'apple' ); // sort($fruit); // print_r($fruit); //Array ( [0] => apple [1] => banner [2] => orange ) asort( $fruit ); print_r( $fruit ); //Array ( [2] => apple [0] => banner [1] => orange ) ?> |
Demo19.php
1
2
3
4
5
6
7
|
<?php $fruit = array ( 'b' => 'banner' , 'o' => 'orange' , 'a' => 'apple' ); //ksort -- 对数组按照键名排序 ksort( $fruit ) ; print_r( $fruit ); //Array ( [a] => apple [b] => banner [o] => orange ) ?> |
Demo20.php
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php //echo '<img src="images/mm1.jpg" />'; //创建一个数组 $pic = array ( 'mm1.jpg' , 'mm2.jpg' , 'mm3.jpg' , 'mm4.jpg' , 'mm5.jpg' ); //数组进行随机打乱 //shuffle($pic); //多数组进行反向排序,array 打头的函数,一般会创建一个新数组 $a = array_reverse ( $pic ); for ( $i =0; $i <3; $i ++){ echo '<img src="images/' . $a [ $i ]. '" style="margin:10px;" />' ; echo "\n" ; } ?> |
Demo21.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php $userName = array ( '张三' ); print_r( $userName ); //这个函数的返回值将得到 ,目前数组的元素个数 //array_unshift -- 在数组开头插入一个或多个单元 //在开头插入数据 array_unshift ( $userName , '李四' ) ; //在结尾插入数据 array_push ( $userName , '吴者然' ); //删除开头的元素 array_shift ( $userName ); //删除结尾的元素 array_pop ( $userName ); print_r( $userName ); ?> |
Demo22.php
1
2
3
4
5
6
7
8
9
|
<?php $fruit = array ( 'banner' , 'orange' , 'apple' ); //这个函数用来获取一个数组中的键(key) //第二个参数表明随即获取几个 // $a = array_rand($fruit,1); // echo $fruit[$a]; $a = array_rand ( $fruit ,2); echo $fruit [ $a [0]]. ' ' . $fruit [ $a [1]]; ?> |
Demo23.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php $username = array ( '世' => '何开' , '血' => '赵血儿' , '学' => '墨学之' ); //默认情况下,指针在第一条数据 //获取指针的当前元素,current 并没有将指针移到下一步 // echo current($username); // echo current($username); // echo current($username); // echo next($username); // echo current($username); // echo next($username); // echo current($username); // //reset -- 将数组的内部指针指向第一个单元 // echo reset($username); // echo sizeof($username);//count $numbers = array (1,4,5,656,7,5,7,4,7,4,5,7); //array_count_values -- 统计数组中所有的值出现的次数 print_r( array_count_values ( $numbers )); ?> |
Demo24.php
1
2
3
4
5
6
7
8
9
10
|
<?php $a = $b = $c = '' ; $fruits = array ( 'a' => 'apple' , 'b' => 'banner' , 'c' => 'orange' ); //通过标量函数将字符串键(key)设置成变量,然后将值赋给了这个变量 extract( $fruits ); echo $a ; echo $c ; echo $b ; //appleorangebanner ?> |
希望本文所述对大家PHP程序设计有所帮助。