zoukankan      html  css  js  c++  java
  • PHP学习笔记四、数组

    一、数组

    1、什么是数组
    一个数组,从简单的形式来讲,是一个保存变量的变量
    array('a'=>'php100','b'=>12.3)
    数组
    多维数组
    2、如何创建数组
    2.1、第一种格式(无键名,程序自动分配键名:默认从0开始分配)

    <?php
    $arr=array("chuangen",100,33.33,false);
    var_dump($arr);
    ?>
    

    2.2、第二种格式(有键名)
    键名不能一样

    <?php
    $arr=array('a'=>chuangen",'b'=>100,2=>33.33,3=>false);
    var_dump($arr);
    ?>
    

    2.3、直接给数组赋值

    <?php
    $arr['name']='张三';
    $arr[]=100;//键名:0
    $arr[5]=100;//键名:5
    $arr[]=100;//键名:6
    $arr[]=100;//键名:7
    var_dump($arr);
    ?>
    

    3、获取数组的值
    (arr[键名] 4、**查看数组** 使用print_r()arr)。不能使用echo,但如果查看数组中的某个值是可以使用echo。
    print_r($arr)后的页面中"查看源代码"方式查看到的结构更加清晰。
    5、多维数组

    <?php
    $arr=array('a'=>array('a','b','c'),'b'=>array(1,2,3));
    echo $arr['b'][2];
    ?>
    

    二、数组函数(常用的)

    1、bool is_array(mixed $var):判断一个变量是否是数组

    <?php
    $arr=array('a','b','c');
    echo is_array($arr)?"是数组":"不是数组";
    ?>
    

    2、int array_unshift(array &$array,mixed $var [,mixed $...]):在数组头添加元素

    <?php
    $arr=array('a','b','c');
    $result= array_unshift($arr,'php');
    print_r($arr);
    echo $result;//数组的个数
    ?>
    

    3、mixed array_shift(array &$array):在数组头删除元素

    <?php
    $arr=array('a','b','c');
    $result=array_shift($arr);
    print_r($arr);	
    print_r($result);//被删除的元素:a
    ?>
    

    4、mixed array_pop(array &$array):在数组尾删除元素

    <?php
    $arr=array('a','b','c');
    $result=array_pop($arr);
    print_r($arr);	
    print_r($result);//被删除的元素:c
    ?>
    

    5、在数组尾部添加元素(直接写就行)

    <?php
    $arr=array('a','b','c');
    $arr[]=array(1,2,3);
    print_r($arr);	
    ?>
    

    6、bool in_array(value,array[,type]):判断数组内是否存在值

    <?php
    $arr=array('a','b','c');
    echo in_array('a',$arr)?"存在":"不存在";
    print_r($arr);	
    ?>
    

    7、array array_unique(array $array):移除数组中重复的值

    <?php
    $arr=array('a'=>100,'b'=>200,'c'=>100);
    $result=array_unique($arr);	
    print_r($arr);//原数组不变
    print_r($result);//移除后的数组
    ?>
    

    8、number array_sum(array $array):数组元素求和
    'number':有两种类型,整型和浮点型

    <?php
    $sum=array('0'=>'5','1'=>'10','2'=>'15','3'=>'20');
    echo array_sum($sum);
    $sum=array('0'=>'1.1','1'=>'2.1','2'=>'3.1','3'=>'4.1');
    echo array_sum($sum);
    ?>
    

    9、数组键与值的排序

    bool sort(array &$array)//值正序
    bool rsort(array &$array)//值倒序
    bool ksort(array &$array)//键正序
    bool krsort(array &$array)//键倒序
    <?php
    $arr=array('a'=>100,'c'=>200,'b'=>30);
    sort($arr);
    print_r($arr);
    ?>
    

    三、遍历数组

    第一种语法格式

    foreach($arr as $key=>$value){
    	//循环体
    }
    
    <?php
    $arr=array('a'=>'php','b'=>'java','html','c++');
    foreach ($arr as $key => $value) {
    		echo $key.'=>'.$value.'<br/>';
    }	
    ?>
    

    第二种语法格式:

    foreach($arr as $value){
    	//循环体	
    }
    
    <?php
    $arr=array(
    array("张三","女","23"),
    array("李四","男","21"),
    array("王五","女","33"),
    array("赵四","男","56")
    );
    foreach ($arr as  $v) {
    echo "姓名:".$v[0]."性别:".$v[1]."年龄:".$v[2]."<br/>";
    }
    ?>
    

    例子:
    递归遍历数组中的所有元素

    <?php	
    $arr=array(1,2,3,4,array(11,22,33,array(111,222,333)));
    function fun_array($arr,&$str){
    foreach ($arr as $v) {
    	if (is_array($v)) {
    		fun_array($v,$str);
    	}
    	else{
    		$str.= $v."<br/>";
    	}
    }
    }
    $str="";
    fun_array($arr,$str);
    echo $str;
    ?>

    作者:liujf
    出处:http://www.cnblogs.com/liujf5566/
    本文版权归作者和博客园所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利~

  • 相关阅读:
    dvwa-Brute Force
    i春秋 Crypto模块rsa wrtiteup
    栈-函数调用
    Ymodem协议详解
    JAVA 传输post传输长字符、数据编码解码 反序列化字符串
    jquery datatable 全选,反选 参考文档
    java中bimface 在线申请token。模型视角 模型批注处理
    C# Winform 子窗体提交后更新父窗体datagridview数据(事件和委托)
    JAVA 两个时间 相差的 小时,天数,分钟
    JAVA 使用注解lombok@Builder和@Data,primary not found default constructor
  • 原文地址:https://www.cnblogs.com/liujf5566/p/4909738.html
Copyright © 2011-2022 走看看