PHP数组介绍与使用

<?php
  /*
   * 数组是一组数据的集合。数组的每个实体包括键和值2部分组成。
   * 键:可以用数字、字符串或者数字和字符串的组合作键来标识数组中相应的值
   * 值:也被称为数组中的元素,可以是任意数据类型,甚至是混合类型
   * 1、数组类型
   * 2、数组创建
   * 3、数组输出
   * 4、数组构造
   * 5、数组遍历
   * 6、全局数组
   * 7、数组函数
   */
   
    /*
     * 数组类型
     * 类型1:数字索引数组--用数字作为键
     * 类型2:关联数组--使用字符串或者数字和字符串混合为键
     */
    
    //举例略掉,下面数组创建中有描述
   
   /*
    * 数组创建
    */
    
    //通过PHP函数创建数组
    //函数array    
    //语法1:array array_name(key1=>value1,key2=>value2,...) 其中,key为字符串或数字键值
    //语法2:array array_name(value1,value2,...) 默认键值为数字且从0开始
    
    $array1=array('first'=>'再','second'=>'见','third'=>'!');
    print_r($array1);
    echo '<br>';
    echo $array1['first'];
    
    echo '<br>';
    
    $array2=array('妥','妥','的');
    print_r($array2);
    echo '<br>';
    echo $array2[2];
    
    echo '<p>';
    
    //通过数组标识符'[]'创建数组
    $array3[0]="古";
    $array3[1]="剑";
    $array3[2]="奇";
    $array3[3]="谭";
    
    print_r($array3);
    
   
    
   
    echo '<p>';
    
    /*
     * 数组输出
     * 情况1:只输出数组中某一个元素。print/echo/print_r,其中print_r此时作用与print相同,建议直接使用print_r
     * 情况2:输出数组结构中所有元素。print_r/var_dump都可以
     * 注意1:print_r函数,语法:bool print_r(mixed expr);参数为数组时,则按照键值和元素的顺序显示该数组中的所有元素
     * 注意2:var_dump函数,语法:void var_dump(mixed expr[,mixed expr[,...]]);可以输出数组或对象,而且还附带输出元素个数
     * 每个字符串的长度,并且能够以缩进方式输出数组或对象的结构
     */
     
     $array5=array('f1'=>'忠','f2'=>'奸','f3'=>'人');
     
     print_r($array5);
     echo '<br>';
     var_dump($array5);
   
     
     echo '<p>';
     /*
      * 数组的构造
      * 一维数组:数组元素为变量时
      * 二维数组:数组元素又为一维数组时
      * ....
      * 
      */
      
      //一维数组举例省略
      
      //二维数组,与java二维数组相比,灵活性高
      $array_x_y=array(
                   'x1'=>array('PHP','Java','html'),
                   'x2'=>array('y1'=>'css','y2'=>'c++'),
                   'x3'=>array(0=>'JSP','one'=>'Android','two'=>'Mac')
                   );
                   
      print_r($array_x_y);
      
      
      
      echo '<p>';
      /*
       * 数组遍历
       * 方法1:foreach结构:实质并非操作数组本身,而是数组的一个备份
       * 方法2:for语句:前提是需要利用count函数获取数组元素中匀速的数目,然后将它作为for的循环条件
       * 
       */
       
     $web_name=array('vip','taobao','jingdong');
     $web_url=array('www.vip.com','www.taobao.com','www.jingdong.com');
     
     //foreach语法:foreach(array_name as $key=>$value)
     foreach($web_name as $key=>$value)
     {
     	echo $value.'--'.$web_url[$key].'<br><br>';
     } 
     
     echo '<p>';
     //for语句
     
     for($i=0;$i<count($web_name);$i++)
     {
     	echo $web_name[$i].'--'.$web_url[$i].'<br><br>';
     } 
      
     
     echo '<p>';
     /*
      * 全局数组:PHP提供了一些全局数组,可以获得大量与环境有关的信息
      * 1、$_SERVER[],是由Web服务器创建的信息,应用该数组可以获取服务器和客户配置以及当前请求信息
      * 2、$_GET[]和$_POST[]:分别用来接受GET和POST方法传递到当前页面的数据
      * 3、$_COOKIE[]:存储通过http cookie传递到脚本的信息
      * 4、$_ENV[]:用于提供与服务器有关的信息
      * 5、$_REQUEST[]:获取GET方法、POST方法和http cookie传递到脚本的信息。当我们不知道通过什么方法提交数据时,
      * 那么就可以通过该方法获取提交到当前页面的数据
      * 6、$_SESSION[]:用于获取会话变量相关的信息
      * 7、$_FILES[]:一个多维的全局数组,用于获取通过POST方法上传文件时的相关信息。如果为单件上传,则该数组为二维数组,
      * 如果为多文件上传,则该数组为三维数组
      */
     
      //列举1~2个例子,其他的略过
      echo '当前服务器IP地址:'.$_SERVER['SERVER_ADDR'].'<br><br>';
      echo '客户端IP地址:'.$_SERVER['REMOTE_ADDR'].'<br><br>';
      
      
      
      echo '<p>';
      /*
       * 数组函数:一些关于数组实用功能操作的封装成的函数模块
       * 1、统计数组元素个数:int count()
       * 2、向数组中添加元素:int array_push()
       * 3、获取数组中最后一个元素:array_pop()
       * 4、删除数组中重复元素:array_unique()
       * 5、获取数组中指定元素的键名:array_search()和array_keys()
       * 
       */
       
      
      // 统计数组元素个数
      //语法:int count(array array_name[,int mode])
      //参数array_name指定数组对象,参数mode为可选参数,默认值为0,如果mode的值设置为COUNT_RECURSIVE(或1),count()
      //函数检测多维数组,该函数返回数组元素个数
      
      $array_count=array('数码','家电','电脑');
      echo count($array_count);
      
      echo '<p>';
      //向数组中添加元素:将传入的元素添加到某个数组的末尾
      //语法:int array_push(array array_name,mixed var[,mixed...])
      //参数array_name为操作数组对象,参数var为要加入数组的值,返回值为数组新的元素总数
      
      $array_put=array('文学','科幻');
      print_r($array_put);
      echo '<br>';
      echo array_push($array_put,'哲学','政治');
      echo '<br>';
      print_r($array_put);
    
    
     echo '<p>';
     //获取数组中最后一个元素:获取并返回数组中的最后一个元素,并将数组的长度减1
     //语法:mixed array_pop(array array_name)
     //array_name为目标数组,返回值为取到的数组最后一个元素
     $array_last=array_pop($array_put);
     echo $array_last;
     
     
     echo '<p>';
     //删除数组中重复元素:将数组元素的值作为字符串排序,然后对每个值只保留第一个键名,
     //忽略所有后面的键名,即删除数组中重复的元素
     //语法:array array_unique(array array)
     //参数array为操作数组,返回值为处理后不含重复元素的数组
     
     $array_repeat=array('a','a','c','d','a');
     print_r($array_repeat);
     echo '<br>';
     $result=array_unique($array_repeat);
     print_r($result);
     
     echo '<p>';
     //获取数组中指定元素的键名
     //array_search函数:可以获取数组中指定元素的键名。语法:mixed array_search(mixed needle,array haystack[,bool strict])
     //needle指定在数组中要搜索的值,haystack指定被搜索的数组,strict为可选参数,如果为true,还会在haystack检查needle的类型
     //······
     //array_keys函数:获取数组中重复元素的所有键名
     //语法:array array_keys(array array[,mixed search_value[,bool strict]])
     //参数array为目标数组,search_value可选参数,可以指定只返回该值的所有键名..
     
     $array_sea=array('核桃','山楂','柑橘');
     $key_name=array_search('山楂',$array_sea);
     echo $key_name;
     echo '<br>';
     
     $array_key=array('蜘蛛侠','超人','钢铁侠','超人');
     $key_names=array_keys($array_key,'超人');
     print_r($key_names);
     
     
    
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Data菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值