本文实例总结了PHP数组用法。分享给大家供大家参考,具体如下:
Demo1.php
<?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
<?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
<?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
<?php$userNames = array("张三","李四","王五");print_r($userNames);echo $userNames[0];?>
Demo5.php
<?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
<?php//先创建只一个元素的数组$userAge = array("chaoyv"=>25);//打印出 chaoyv 的年龄//echo $userAge["chaoyv"]; //25//将以前的数组,追加两条,这里说的下标,键,key 是一个东西$userAge["yike"] = 30;$userAge["wife"] = 24;print_r($userAge);?>
Demo7.php
<?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
<?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
<?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
<?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
<?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
<?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
<?php$usernames = array("世"=>"何开","境"=>"何开","血"=>"赵血儿","学"=>"墨学之");print_r($usernames);echo "<br/>";//array_flip -- 交换数组中的键和值$newUsernames = array_flip($usernames);print_r($newUsernames);/** * Array ( [世] => 何开 [境] => 何开 [血] => 赵血儿 [学] => 墨学之 ) * Array ( [何开] => 境 [赵血儿] => 血 [墨学之] => 学 ) * */?>
Demo14.php
<?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
<?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
<?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
<?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
<?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
<?php$fruit = array("b"=>"banner","o"=>"orange","a"=>"apple");//ksort -- 对数组按照键名排序ksort($fruit);print_r($fruit);//Array ( [a] => apple [b] => banner [o] => orange )?>
Demo20.php
<?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 "
";}?>
Demo21.php
<?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
<?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
<?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
<?php$a=$b=$c="";$fruits = array("a"=>"apple","b"=>"banner","c"=>"orange");//通过标量函数将字符串键(key)设置成变量,然后将值赋给了这个变量extract($fruits);echo $a;echo $c;echo $b;//appleorangebanner?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。