php

位置:IT落伍者 >> php >> 浏览文章

PHP数组常用招式


发布日期:2020年06月19日
 
PHP数组常用招式

//读取数组
$arr=array("xx"=>"叉叉""yy"=>"歪歪");
echo"读出第一个:"$arr[xx];//统计数组个数
$array=array(aaabbbcccddd);
echo"数组个数为:"count($array)"n";//计算数组单元数目或对象中属性个数等同sizeof()//快速创建数组
$arr_range=range();//定义值的范围最小最大步长为(之差可选)
$arr_range=range("A""N");
echo"用range()快速创建数字数组:";
print_r($arr_range);
echo"n";
echo"用range()快速创建字母数组:";
print_r($arr_range);
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["水果"]="西瓜";
$oldarr["水果"]="桃子";
$oldarr["水果"]="葡萄";
if(array_key_exists("水果"$oldarr)){printf("你选的水果是:%sn"$oldarr["水果"]);}else{echo"不存在这个!";}//定位元素:搜索关联数组"值"
$oldarr["水果"]="西瓜";
$oldarr["水果"]="桃子";
$oldarr["水果"]="葡萄";
$found=array_search("西瓜"$oldarr);
if($found){printf("%s的值是:%sn"$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($arras$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("a""a""a""a""a");
natsort($arr);
print_r($arr);//自然排序数组(经典排序不区分大小写的)
$arr=array("A""a""a""A""a");
natcasesort($arr);
print_r($arr);//按键值对数组排序
//ksort();
//以逆序对数组键排序
//krsort();
//根据用户自定义规则排序
$arr=array();
sort($arr);
print_r($arr);//合并拆分接合分解数组(递归合并一个或多个数组注意键的引号)
$arr_a=array("John"=>"James"=>);
$arr_b=array("Micky"=>"John"=>);
$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(""""""""""a=>"x""""");
$newarr=array_merge($arr_a$arr_b);
shuffle($newarr);//洗牌(将数组打乱)每次结果不一样
print_r($newarr);//拆分数组
$oldarr=array("西瓜""苹果""柚子""香蕉""芒果""奇异果""山楂");
$newarr=array_slice($oldarr);//去掉前两个后两个
print_r($newarr);//新的数组
print_r($oldarr);//全部原始数组//接合数组(形成新两个数组)
$oldarr=array("西瓜""苹果""柚子""香蕉""芒果""奇异果""山楂");
$newarr=array_splice($oldarr);
print_r($newarr);//新的数组
print_r($oldarr);//被删除的数组//求数组的交际
$new_a=array("A""B""C""D""E""F");//以"键和值"第一行数组为标准个数组"值"有完全相同的输出
$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");//以"键和值"第一行数组为标准个数组"值"有完全没有的输出
$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);
print_r($newarr);//随机洗牌数组随机打乱"值"顺序
$oldarr=array(a=>"sd""sc""xe""po""ed");
shuffle($oldarr);
print_r($oldarr);//对数组中的值求和
$oldarr=array("hello");
$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);
print_r($newarr);
/*找到数组里不存在的数字*/
$arr=array();
for($i=;$i<count($arr);$i++){
$randnum=rand();
if(in_array($randnum$arr)){
break;
}else{
printf("不存在%d<br/>"$randnum);
}

               

上一篇:在HTML中利用js调用php的内容-计数器实例

下一篇:php正则匹配获取指定url网页页面超级链接地址