搜索
首页php教程php手册PHP数组常用招式

PHP数组常用招式

Jun 13, 2016 am 11:34 AM
AAAarrarrayechophp个数常用招式数组第一个统计读取

//读取数组
$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 "
";//在数组头添加元素
$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 
",$key);
next($oldarr); //每次key不会移动指针,需要next来移动指针
}//获取数组中的"值"
$oldarr=array("力量"=>"拳击","速度"=>"跑步");
while($val = current($oldarr)){
printf("%s 
",$val);
next($oldarr); //每次key不会移动指针,需要next来向后移动指针 prev()向前移动一个 reset()是移动首位 end()是移动末尾
}//历遍数组中的"键和值" 
$arr=array("one", "two", "three");
foreach ($arr as $value){
echo "Value: " . $value . "
";
}//统计数组元素出现频率(结果是值数量)
$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 $randnum = rand(0,50);
if(in_array($randnum,$arr)){
   break;
}else{
   printf("不存在 %d 
",$randnum);

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。