PHP数组常用招式

//读取数组
$arr=array("xx"=>"叉叉","yy"=>"歪歪");
echo "读出第一个:".$arr[xx];//统计数组个数
$array=array(aaa,bbb,ccc,ddd);
echo "数组个数为:".count($array)."n"; //计算数组单元数目或对象中属性个数 等同sizeof()//快速创建数组
$arr_range = range(0,20,2); //定义值的范围 最小0 最大6 步长为2(之差,可选)
$arr_range2 = range("A","N");
echo "用range()快速创建数字数组:";
print_r($arr_range);
echo "n";
echo "用range()快速创建字母数组:";
print_r($arr_range2);
echo "n";//测试数组
if(is_array($arr_range)){ echo "$arr_range是数组!n"; }else{echo "不是数组!n";}//拆分数组
$str="小猪,小猫,小狗";
list($a,$b,$c) =explode(",",$str);
echo "数组拆分为:".$a ." ". $b ." ". $c;
echo "<br/>";//在数组头添加元素
$oldarr=array("小张","小李","小王","小赵");
$newarr=array_unshift($oldarr,"小孙","小周","小武");
print_r($oldarr); //这个数组变量在头部,被加入新的
echo "个数为:".print_r($newarr);//在数组尾部添加元素
$oldarr=array("小张","小李","小王","小赵");
$newarr=array_push($oldarr,"小孙","小周","小武");
print_r($oldarr); //这个数组变量在尾部,被加入新的
echo "个数为:".print_r($newarr);//从数组头删除值
$oldarr=array("小张","小李","小王","小赵");
$newarr=array_shift($oldarr);
print_r($newarr); //返回删除的值
print_r($oldarr); //返回被删除的后剩余的//从数组尾部删除值
$oldarr=array("小张","小李","小王","小赵");
$newarr=array_pop($oldarr);
print_r($newarr); //返回删除的值
print_r($oldarr); //返回被删除的后剩余的//定位元素:搜索数组
$search ="小刘";
$oldarr =array("小张","小李","小王","小赵","小刘");
if(in_array($search,$oldarr)){ echo "数组中有:".$search."n";}else{echo "数组中没有:".$search."n";}//定位元素:搜索关联数组"键"
$oldarr["水果1"]="西瓜";
$oldarr["水果2"]="桃子";
$oldarr["水果3"]="葡萄";
if(array_key_exists("水果2",$oldarr)){ printf("你选的水果是: %s n",$oldarr["水果2"]);} else {echo "不存在这个!";}//定位元素:搜索关联数组"值"
$oldarr["水果1"]="西瓜";
$oldarr["水果2"]="桃子";
$oldarr["水果3"]="葡萄";
$found=array_search("西瓜",$oldarr);
if($found){ printf("%s 的值是: %s n",$found,$oldarr[$found]);} else {echo "不存在这个!";}//获取数组中的"键"
$oldarr=array("力量"=>"拳击","速度"=>"跑步");
while($key = key($oldarr)){
printf("%s <br/>",$key);
next($oldarr); //每次key不会移动指针,需要next来移动指针
}//获取数组中的"值"
$oldarr=array("力量"=>"拳击","速度"=>"跑步");
while($val = current($oldarr)){
printf("%s <br/>",$val);
next($oldarr); //每次key不会移动指针,需要next来向后移动指针 prev()向前移动一个 reset()是移动首位 end()是移动末尾
}//历遍数组中的"键和值" 
$arr=array("one", "two", "three");
foreach ($arr as $value){
echo "Value: " . $value . "<br />";
}//统计数组元素出现频率(结果是值数量)
$arr=array("one", "two", "three", "two", "three");
print_r(array_count_values($arr));//确定唯一的数组元素(输出不重复的内容)
$arr=array("one", "two", "three", "two", "three");
print_r(array_unique($arr));//逆置数组元素顺序(键和值)
$arr=array("one", "two", "three", "four", "five");
print_r(array_reverse($arr));//置换数组和值
$arr=array("one", "two", "three", "four", "five");
print_r(array_flip($arr));//正序数组排序(键和值关联不在保持)
$arr=array("one", "two", "three", "four", "five");
sort($arr);
print_r($arr);//正序数组排序(键和值关联保持)
$arr=array("one", "two", "three", "four", "five");
asort($arr);
print_r($arr);//逆序数组排序(键和值关联不保持)
$arr=array("one", "two", "three", "four", "five");
rsort($arr);
print_r($arr);//逆序数组排序(键和值关联保持)
$arr=array("one", "two", "three", "four", "five");
arsort($arr);
print_r($arr);//自然排序数组(经典排序)
$arr=array("a1", "a3", "a10", "a22", "a19");
natsort($arr);
print_r($arr);//自然排序数组(经典排序,不区分大小写的)
$arr=array("A1", "a3", "a10", "A22", "a19");
natcasesort($arr);
print_r($arr);//按键值对数组排序
//ksort();
//以逆序对数组键排序
//krsort();
//根据用户自定义规则排序
$arr=array('2009-02-06','2009-02-10','2009-02-13','10-06-2009','9-17-2009');
sort($arr);
print_r($arr);//合并、拆分、接合、分解数组(递归合并一个或多个数组,注意键的引号)
$arr_a = array("John"=>100,"James"=>85);
$arr_b = array("Micky"=>78,"John"=>45);
$newarr = array_merge_recursive($arr_a,$arr_b);
print_r($newarr);//递归追加数组
$arr_a = array("AK"=>"xx","AV","AO","AE"); //用第一个数组的键
$arr_b = array("Akssjd"=>"xasd","Aosdwe","Aesadlkj","Avxiwqlk"); //用第二个数组的值
$newarr = array_combine($arr_a,$arr_b);
print_r($newarr);//链接两个数组(键自动顺序数字,值合并,有键的的单独显示,键相同值会覆盖)
$arr_a = array("W",a=>"O","F","R","C");
$arr_b = array("2","6","4","7","3",a=>"x","0","9");
$newarr = array_merge($arr_a,$arr_b);
shuffle($newarr); //洗牌(将数组打乱),每次结果不一样
print_r($newarr);//拆分数组
$oldarr=array("西瓜","苹果","柚子","香蕉","芒果","奇异果","山楂");
$newarr=array_slice($oldarr,2,-2); //去掉前两个,后两个
print_r($newarr); //新的数组
print_r($oldarr); //全部原始数组//接合数组(形成新两个数组)
$oldarr=array("西瓜","苹果","柚子","香蕉","芒果","奇异果","山楂");
$newarr=array_splice($oldarr,2); 
print_r($newarr); //新的数组
print_r($oldarr); //被删除的数组//求数组的交际
$new_a=array("A","B","C","D","E","F"); //以"键和值"第一行数组为标准,3个数组"值"有完全相同的输出
$new_b=array("B","X","E","R","W","P");
$new_c=array("Z","N","B","W","E","C");
$newarr = array_intersect($new_a,$new_b,$new_c);
print_r($newarr);//求关联数组的交集(类似上边这个) 
//array_intersect_assoc() 这个考虑"键"是都也相同,如果"键"和"值"都相同输出结果
//求数组的差集(这个与intersect()正好相反)
$new_a=array("A","B","C","D","E","F"); //以"键和值"第一行数组为标准,3个数组"值"有完全没有的输出
$new_b=array("B","X","E","R","W","P");
$new_c=array("Z","N","B","W","E","C");
$newarr = array_diff($new_a,$new_b,$new_c);
print_r($newarr);//求关联数组的交集(类似上边这个) 
//array_diff_assoc() 这个考虑"键"是都也相同,如果"键"和"值"都没有输出结果
//返回一组随即的"键"
$oldarr = array("aaa"=>"dasd","bbb"=>"axsae","ccc"=>"fdvdf","ddd"=>"ewmcc");
$newarr = array_rand($oldarr,2);
print_r($newarr);//随机洗牌数组,随机打乱"值"顺序
$oldarr = array(a=>"sd","sc","xe","po","ed");
shuffle($oldarr);
print_r($oldarr);//对数组中的值求和
$oldarr = array(36,"hello",75);
$newarr = array_sum($oldarr);
print $newarr;//将数组分解为多维数组
$oldarr=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R");//shuffle($oldarr); //洗下牌
$newarr=array_chunk($oldarr,4);
print_r($newarr);
/*找到数组里不存在的数字 */
$arr =array(2,3,5,7,9,11,13,14,16,23,26,28,29,31,32,33,35,37,39,41,46,49);
for($i=0;$i<count($arr);$i++){
$randnum = rand(0,50);
if(in_array($randnum,$arr)){
   break;
}else{
   printf("不存在 %d <br/>",$randnum);

时间: 2024-10-18 11:50:17

PHP数组常用招式的相关文章

蚂蚁金服技术专家总结:性能优化的常见招式

本文主要会介绍性能评估的一些简单概念以及性能压测/性能瓶颈的识别方法和一些常见的优化方式.虽然内容很多,但是目的在于让大家有个全局的认识:本文虽然深入度上面稍微欠缺,但是足以应对日常的性能分析. 为什么大家觉得性能优化难? 很多人觉得性能优化难的原因,其实主要是不知道怎么去做评估,主要表现在一下几个方面 1.不知道性能是什么? 2.不知性能的评估标准是什么? 3.不知道影响性能的相关元素是什么? 4.不知道性能问题的带来的现象是什么? 性能优化,必须知道的几个概念 关于性能的几个基础概念就像一把

中国富豪挖掘第一桶金九招式

中国富豪挖掘第一桶金的方法不下50种 据<科学投资>研究,中国富豪挖掘第一桶金的方法不下50种.以读者习惯的武林招式来比喻,也就是不下50式.<科学投资>总结出其中活色生香,可供创业者活学活用之9式,贡献 如下. 第1式:快半拍 典型代表:杨斌 第一桶金:2000万美元 可效仿指数:★★★☆ 2001年,当杨斌出现在当年的<福布斯>中国富豪排行榜上,并且排名高居第二时,许多人吃了一惊,因为在此之前,杨斌是一个谁都不曾听闻过的名字.将杨斌视为一匹财富黑马实不过分.杨斌现在

C# byte数组常用扩展浅析

C# byte数组常用扩展是我们编程中经常会碰到的一些实用性很强的操作,那么C# byte数组常用扩展都有哪些呢?下面将列出并用实例演示常用八种情况. C# byte数组常用扩展应用一:转换为十六进制字符串 public static string ToHex(this byte b) { return b.ToString("X2"); } public static string ToHex(this IEnumerable<byte> bytes) { var sb

js数组常用操作方法小结(增加,删除,合并,分割等)_javascript技巧

本文实例总结了js数组常用操作方法.分享给大家供大家参考,具体如下: var arr = [1, 2, 3, 4, 5]; //删除并返回数组中第一个元素 var theFirst = arr.shift(); alert(theFirst);//返回1 number alert(arr);//2,3,4,5 object //删除并返回数组中最后一个元素 var theLast = arr.pop(); alert(theLast);//返回5 number alert(arr);//2,3,

《GRANAGE》韩国终测登场强调动感打击招式

韩国 NHN 上周五宣布,旗下 2D 横向滚动条动作角色扮演游戏<GRANAGE>将于 12 月 2 日在韩国展开最终测试,并释出最终测试宣传影片,展现游戏实际内容. 由 Logiware 研发的<GRANAGE>最终测试,是研发团队历经第二次封闭测试后接受了玩家多样化 意见.加以进化后所推出的游戏内容,此次最终测试将针对游戏的稳定性与新内容,于 12 月 2 日至 5 日在韩国举行. <GRANAGE>结合可爱的角色风格.动态视觉表现打击感与招式特效,让玩家可以依照战

javascript数组常用操作函数

网页特效数组常用操作函数 1. 数组length属性的值是这个数组的最大整数属性名加上1.它不一定等于数组里属性的个数: 1 var myarray = [];  2 alert(myarray.length); // 0  3    4 myarray[1000000] = true;  5 alert(myarray.length); //1000001 2. 在数组尾部添加一个新元素: 1 var numbers = ['zero', 'one', 'two'];  2 numbers[n

小企业向大品牌学习假日营销4招式

圣诞节,元旦,春节这些喜庆的节日一波又一波,而商家却开始绞尽脑汁用此良机增强与消费者的关系.但是当我们被五花八门的店面和促销活动搞的头晕目眩时,除了恐慌,又有几家企业让我们为之驻足惊叹?无一例外,节假日成了商家的狂欢PK台,而手段过于同质化,打折.降价.送赠品,司空见惯的传统手段让商家的活动成为鸡肋.近几日认真阅读SocialBeta发布的可口可乐礼花瓶,西捷航空圣诞老人的案例,让我不禁大赞商家运用社会化思维来解决节假日营销方案的创意.而这也给小企业操刀反戈提供了新的思路.作者:@滕宏磊反思:小

《剑灵OL》放出新职业拳士招式引入中国武术

多玩网讯( 继上次<剑灵>官方透漏剑士的<以气驭剑>系统后 不久前 官方透漏了关于"拳士"的2个技能信息.虽然官方透漏出2个拳士的最为重要的技能,但2个技能却与中国的拳功有关. 很显然官方所解释的信息不够详细.因此东方找遍中国有关此技术的历史记录并结合官方的内容. OK 到底什么技能居然与中国的历史有关呢?现在开始东方给大家介绍此相关技能信息. 铁山靠武术介绍 姑且不论其流派及历史,八极拳基本上是一套以简单朴实.爽快直接.崩撼突击等要诀的强身武术,与形意拳.太极

iOS中NSArray数组常用处理方式_IOS

1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString *s3 = @"wangwu"; //(1) NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3, nil]; NSLog(@"%@",a