本文实例总结了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 "\n";
}
?>
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程序设计有所帮助。
评论列表:
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论