PHP入门教程之数组用法汇总(创建,删除,遍历,排序等) 本文实例总结了PHP数组用法。分享给大家供大家参考,具体如下: Demo1.php 张三 [1] => 李四 [2] => 王五 ) //$userNames 是一个数组变量,而 $userNames[x] 可以理解成数组变量下的小变量 $userNames[4] = '赵七'; print_r($userNames);//Array ( [0] => 张三 [1] => 李四 [2] => 王五 [4] => 赵七 ) ?> Demo2.php 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 '.$userNames[$i].'
'; // } /* * 1-->张三 * 2-->李四 * 3-->王五 * */ // echo count($userNames); //3 // for($i=0;$i'.$userNames[$i].'
'; // } //如果 key 不是从 0 开始,或者说,压根不是数字,那么就无法用无精打采循环来实现显示数据列表 //通过 foreach 循环来遍历数组,这方式好处,不需要去考虑 key // foreach ($userNames as $value){ // echo $value.'
'; // } //foreach 遍历 $key => $value // foreach ($userNames as $keyaaa => $value){ // echo $keyaaa.'-->'.$value.'
'; // } /** * 0-->张三 * 1-->李四 * 2-->王五 * */ //所以,你要先做个判断 if(is_array($userNames)){ foreach ($userNames as $key => $value){ echo $key.'-->'.$value.'
'; } }else{ echo $userNames; } ?> Demo4.php Demo5.php '张三','李四','王五'); // print_r($userNames); //Array ( [baidu] => 张三 [0] => 李四 [1] => 王五 ) $userNames = array('baidu'=>'张三','taobao'=>'李四','360'=>'王五'); print_r($userNames); //Array ( [baidu] => 张三 [taobao] => 李四 [360] => 王五 ) echo $userNames['baidu']; ?> Demo6.php 25); //打印出 chaoyv 的年龄 //echo $userAge['chaoyv']; //25 //将以前的数组,追加两条,这里说的下标,键,key 是一个东西 $userAge['yike'] = 30; $userAge['wife'] = 24; print_r($userAge); ?> Demo7.php 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.'
'; } ?> Demo8.php '何开','血'=>'赵血儿','学'=>'墨学之'); //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 '
'; print_r(each($username)); ?> Demo9.php '何开','血'=>'赵血儿','学'=>'墨学之'); //这里,我们怎么使用 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'].'
'; } // $a = each($username); // echo $a[0].'---'.$a[1].'
'; // $a = each($username); // echo $a[0].'---'.$a[1].'
'; // $a = each($username); // echo $a[0].'---'.$a[1].'
'; // /** // * 世---何开 // * 血---赵血儿 // * 学---墨学之 // * */ ?> Demo10.php '何开','血'=>'赵血儿','学'=>'墨学之'); // $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 '何开','血'=>'赵血儿','学'=>'墨学之'); $a =each($usernames); echo $a[key]; $a =each($usernames); echo $a[key]; //第三次,我想取数组的第一条数组 //只要将数组的指针调整到第一个位置即可 //reset -- 将数组的内部指针指向第一个单元 reset($usernames); $a = each($usernames); echo $a[key]; //世血世 ?> Demo12.php '何开','境'=>'何开','血'=>'赵血儿','学'=>'墨学之'); // print_r($usernames); // echo '
'; // //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 '何开','境'=>'何开','血'=>'赵血儿','学'=>'墨学之'); print_r($usernames); echo '
'; //array_flip -- 交换数组中的键和值 $newUsernames = array_flip($usernames); print_r($newUsernames); /** * Array ( [世] => 何开 [境] => 何开 [血] => 赵血儿 [学] => 墨学之 ) * Array ( [何开] => 境 [赵血儿] => 血 [墨学之] => 学 ) * */ ?> Demo14.php "; echo "|".$products[1][0]."|".$products[1][1]."|".$products[1][2]."|
"; echo "|".$products[2][0]."|".$products[2][1]."|".$products[2][2]."|
"; ?> Demo15.php "; } /* * |苹果|6|28.8| * |猪肉|2|18.8| * |饼干|4|48.8| * **/ ?> Demo16.php '苹果','数量'=>'6','价格'=>'28.8'), array('产品'=>'猪肉','数量'=>'3','价格'=>'25.8'), array('产品'=>'饼干','数量'=>'2','价格'=>'26.8') ); //print_r($products) ; // for($i=0;$i $value){ // echo $key.'--'.$value.'|'; // } // echo '
'; // } for($i=0;$i'; } /** * 产品--苹果|数量--6|价格--28.8| * 产品--猪肉|数量--3|价格--25.8| * 产品--饼干|数量--2|价格--26.8| * */ ?> Demo17.php '; 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 apple [1] => banner [2] => orange ) asort($fruit); print_r($fruit); //Array ( [2] => apple [0] => banner [1] => orange ) ?> Demo19.php 'banner','o'=>'orange','a'=>'apple'); //ksort -- 对数组按照键名排序 ksort($fruit) ; print_r($fruit); //Array ( [a] => apple [b] => banner [o] => orange ) ?> Demo20.php '; //创建一个数组 $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 ''; echo "\n"; } ?> Demo21.php Demo22.php Demo23.php '何开','血'=>'赵血儿','学'=>'墨学之'); //默认情况下,指针在第一条数据 //获取指针的当前元素,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 '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程序设计有所帮助。