• PHP第七课 使用方法数组2


    学习平台:

    1.了解数组函数

    2.输出随机验证码

    1.数组函数:



    数组函数:
    //作用:提供了非常多官方写的非常实用的代码段,提高编写速度.

    1.数组的键值操作函数
    2.统计数组的元素和唯一性
    3.使用回调函数处理数组的函数
    4.数组的排序函数
    5.拆分,合并,分解与结合函数
    6.数组与数据结构
    7.其它实用的数组处理函数


    数组的键值操作函数:
    1.array_values();

    模拟获取key和value的值
    <?php
    								$arr=array("name"=>"user1","age"=>"30","sex"=>"man");
    
    
    								foreach($arr as $key=>$val){
    									$keys[]=$key;
    									$vals[]=$val;
    								}
    									
    										echo "<pre>";
    										print_r($keys);
    										echo "</pre>";
    
    
    										echo "<hr>";
    								echo "<pre>";
    								print_r($vals);
    								echo "</pre>";
    								
    
    
    											
    								?>




    2.array_values的使用
    <?

    php $arr=array("name"=>"user1","age"=>"30","sex"=>"man"); $keys=array_values($arr); echo "<pre>"; print_r($keys); echo "</pre>"; ?>




    array_values();//获取数组中的值
    array_keys();//获取数组中的健
    in_array();//检查一个值是否在数组中
    array_key_exists();//检查一个键是否在数组中
    array_flip();//键和值对调
    array_reverse();数组中的值反转


    统计数组的元素和唯一性
    1.count();
    2.array_count_values();//统计数组中每一个值出现的次数.
    3.array_unique();//删除数组中的反复


    使用回调函数处理数组的函数:
    1.array_filter();
    <?

    php $arr=array("user1"=>70,60,80,78,34,34,34,56,78,78); function older($var){ return ($var>60); } $arr2=array_filter($arr,"older"); echo "<pre>"; print_r($arr2); echo "</pre>"; ?>



    2.array_map();


    引用參数:
    需求:数组值自加1


    function show(&$arr){
    foreach($arr as $key=>$val){
    $arr[$key]=$val+1;


    }


    }




    数组的排序函数
    1.sort(); 升序,不保留key
    2.rsort(); 降序 ,不保留key
    3.asort(); 升序,保留key
    4.arsort(); 降序,保留key
    5.ksort();依据key排序 升序
    6.krsort();依据key排序 降序
    7.natsort();自然数排序 升序,比方图片img2.jpg
    8.natcasesort();忽略大写和小写 升序排列
    9.multisort();多数组排序




    ksort();
    <?php
    		$arr=array("user1"=>10,"b"=>1,"c"=>3,"d"=>30);
    
    
    		$arr2=array_flip($arr);
    
    
    		ksort($arr2);
    
    
    		echo "<pre>";
    		print_r($arr2);
    		echo "</pre>";
    		?>




    natsort();
    <?

    php $array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png"); sort($array1); echo "Standard sorting "; print_r($array1); natsort($array2); echo " Natural order sorting "; print_r($array2); ?>







    多数组排序:
    <?

    php $arr=array("aaa","bbbbbbbbb","cc","ddddd"); //需求: //1.依照标题长度排序 //2.标题长度变成标题字符串的key //将数组中的value的长度取出,并作为一个新数组 //strlen($val)取出字符串的长度 foreach ($arr as $val) { $lens[]=strlen($val); } array_multisort($lens,SORT_ASC,$arr);//对数组进行排序,依据第一个数组来排序第二个数组 SORT_ASC表示升序排序 sort($lens); $arr2=array_combine($lens, $arr);//第一个数组作为第二个数组相应的key,返回一个新数组 echo "<pre>"; print_r($arr2); echo "</pre>"; ?

    >







    拆分,合并,分解与结合函数
    1.explode();
    2.inplode();//join();
    3.array_slice();数组的截取
    4.array_splice();数组的裁剪
    5.array-merge();合并多数组
    6.array_combine();合并数组,两个数组,前一个数组作为key,后一个数组作为value
    7.array_intersect();找出两个数组的交集
    8.array_diff();找出两个数组的不同,依据第一个參数
    9.array_pop();从最后弹出一个值,返回弹出值
    10.array_push();从最后的位置压入一个值,返回元素的个数
    11.array_shift();从洗前面的位置删除一个值
    12.array_unshift();从最前的位置压入一个值


    <?php
    
    
    			$str="php,js,html,ces,div";
    			$arr=explode(",",$str);
    
    
    			echo "<pre>";
    			print_r($arr);
    			echo "</pre>";
    			?>

    </pre><span style="white-space:pre">		</span>2.inplode();将数组组合成为字符串<span style="white-space:pre">		</span><pre name="code" class="php"><?

    php $str="php,js,html,ces,div"; $arr=explode(",",$str); $str2=implode("-",$arr); echo "<pre>"; print_r($str2); echo "</pre>"; ?>







    <?php
    
    
    				$str="php,js,html,ces,div";
    				$arr=explode(",",$str);
    
    
    				$arr2=array_reverse($arr);//讲数组中的值进行倒序
    
    
    				$str2=implode("-",$arr2);
    
    
    				echo "<pre>";
    				print_r($str2);
    				echo "</pre>";
    				?

    >






    array_slice();
    <?php
    	
    				//截取总是从后往前截取
    			    $arr = array("aa","bb","cc","dd","ee","ff","gg");
    
    
    			    $arr2 = array_slice($arr, 0,2);//表示从0的位置截取2个  aa bb
    			    $arr3 = array_slice($arr, -3,2);//表示从后往前数到3的位置,開始截取2个//ee  ff
    
    
    			    echo "<pre>";
    			     print_r($arr3);
    			     echo "</pre>"; 
    
    
    				?

    >


    不仅拆减,并且能够加入


    <?php
    		    $arr = array("aa","bb","cc","dd","ee","ff","gg");
    
    
    		    $arr2 = array_splice($arr, 0, 3, array("hh","ii","jj","kk"));//直接取原数组的值,并将原数组进行改变,原数组为取走以后剩下的值
    
    
    		    echo "<pre>";
    		    print_r($arr2);
    		    echo "</pre>";
    
    
    		    echo "<pre>";
    		    print_r($arr);
    		    echo "</pre>";
    
    
    			?

    > array_merge(); <?

    php $a = array("aa","bb","cc"); $b = array("dd","ee","ff","gg"); $arr = array_merge($a, $b); echo "<pre>"; print_r($arr); echo "</pre>"; ?>







    其它实用的数组处理函数:
    1.array_rand();//随机取一个key
    2.range();//取出某个范围的数组
    3.shuffle();//打乱数组的作用
    4.array_sum();//计算数组内全部人的和(计算总得分)
    假设计算数组的key之和,能够採用array_flip()对数组的健和值进行对调,然后就能够算出健之和.








    <?php
    	
    	
        $arr = array("aa","bb","cc","dd","ee","ff","gg");
    
    
        //将原数组顺序随机打乱
        shuffle($arr);
    
    
        //取出数组的前3个
        $arr2= array_slice($arr, 0 , 3);
    
    
        echo "<pre>";
        print_r($arr2);
        echo "</pre>";
    
    
    	?>		






    //随机输出四位字符 验证码实现:
    <?php
    	
    	//取出1-9 a-z A-Z的数组
        $a = range(1, 9);
        $b = range(a, z);
        $c = range(A, Z);
    
    
        //将3个数组合并
        $d = array_merge($a,$b,$c);
    
    
        //将合并后的数组打乱
        shuffle($d);
    
    
        //取合并后的前4位
        $e = array_slice($d, 0, 4);
    
    
        //将$e数组变为字符串
        $f = join("", $e);
    
    
        echo $f;
    
    
    
    
    
    
    	?>	


    转载请注明出处: http://blog.csdn.net/junzaivip

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    LeetCode-860. Lemonade Change
    LeetCode-455.Assign Cookies
    LeetCode-122.Best Time to Buy and Sell Stock II
    LeetCode-438.Find All Anagrams in a String
    LeetCode-50.Pow(x,n)
    LeetCode-236.Lowest Common Ancestor of a Binary Tree
    LeetCode-235.Lowest Common Ancestor of a Binary Search Tree
    LeetCode-98.Validate Binary Search Tree
    LeetCode-18.4Sum
    LeetCode-15.3Sum
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4744791.html
Copyright © 2020-2023  润新知