侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

php学习 数组课件第1/2页

php  /  管理员 发布于 7年前   188

下标:数组中的识别名称 也就是字符串或整数在数组中的代号

数组中有几个索引值就被称为几维数组。
索引值:索引是对数据库表中一列或多列的值进行排序的一种结构。

    数组分类
在PHP数组被分为两种:
索引数组:索引(indexed)索引值是整数,以0开始,当通过位置来标识东西时用索引数组。
关联数组:关联(associative)关联以字符串做索引值,索引值为列名,用语访问列的数据。

    数组通常用赋值的方式
一般情况下数组赋值有两种方式:
$a[1]="dsadsadsa";
$b[2]="dsadsadsad";
使用array函数:
$a=array("dsads","dsadsa",321312);
一维数组:数组的索引值(下标)只有一个的时候称之为一维数组。
数组直接赋值的格式:
$数组变量名[索引值]=资料内容;
注意:索引值可以是字符串也可以是整数  但是1与“1”是不同的 它们一个属于整数一个属于字符串。

同名没有给予索引值的数组是按照顺序排列的。
实例:
      $a=array(1,2,3,4,5,6);
    $b=array("one", "two", "three");
    $c=array(0=>"aaa",1=>"bbb",2=>"ccc");
    $d=array("aaa",6=>"bbb","ccc");
    $e=array("name"=>"zhang", "age"=>20);
  ?>
    二维数组
多维数组的格式:
$a[0][]="dsadas";
$a[0][]="dsadsa";  这组是$a下的0索引值下的1和2
如果用array函数声明格式如下:
$a=array("dsadsa","dsadas",21,array("dsadsa","dsadas"));

    数组的遍历
foreach循环结构:
foreach 仅用与数组的循环 两种格式
foreach(array_exprssion(数组表达) as $value);
foreach(array_exprssion(数组表达) as $key=>$value);
第一种格式遍历给定了array_exprssion数组。每一次循环中当前的值都被赋给我$calue,并且数组内部的指针向前移动一步。
第二种格式做同样的事,只除了当前单元的键值也会在每次循环中被赋给变量 $key。 
当 foreach 开始执行时,数组内部的指针会自动指向第一个单元。此外注意foreach 所操作的是指定数组的一个拷贝,而不是该数组本身
  $arr=array(10,20,30,40,50,60);
  foreach($arr as $k=>$v){
    echo "$k=>$v
";
  }

输出结果:0=>10 1=>20 2=>30 3=>40 4=>50 5=>60//下标=>整数
    联合使用list(),each()和while循环
each():
  $arr=array(1,2,3,4,5);
  $a=each($arr);  
  print_r($a);
输出结果:Array ( [1] => 1 [value] => 1 [0] => 0 [key] => 0 ) 
拿取数组第一位的值value 下标key
list():
  $arr3=array("a","b","c");    
  list($key,$value)=each($arr3);

  echo $key."
".$value;
输出结果:0 a     list()可以说是用一步操作给一组变量赋值 仅能用于数字索引的数组并假定数字索引从 0 开始。
while循环
  $arr=array(1,2,3,4,5,6,7,8,9,);
  while(list($key,$value)=each($arr)){
      $key++;
      echo $key."=>".$value;
      echo "
";
  }
  echo "
";
输出结果:1=>1 2=>2 3=>3 4=>4 5=>5 6=>6 7=>7 8=>8 9=>9
reset()数组指针重定向
在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。
is_array检测变量是否为数组真返回ture假false
  $arr=array(1,2,3,4,5,6,"saas");
  while(list($k,$v) = each($arr))
  {
    if(is_array($arr))
    {
      $x += $v;
      echo $x;
    }
    else
    {
      $x += $k;
    }
  }
这个范例不能完全体现is_array的功能,但是可以参考。
    数组的指针
next():负责将指针向后移动
prve():负责将指针向前移动
end():会将指针指向数组最后一个元素
reset():将目前指针无条件移至第一个索引位置
语法格式:mixed next(数组名称)
  $arr=(array(1,2,3,4,5));
  echo end($arr);
输出结果:5
    key()与current()和count()
key()的函数是读取目前指针所指向的资料的索引值。
current()的函数则是读取目前指针所指向资料的内容资料。
count()的函数是用来计算数组中所有元素的个数,也就是说函数会传回目标数组的长度值。
格式:int count(数组名称);

key():从关联数组中取得键名
$array = array('fruit1' => 'apple','fruit2' => 'orange','fruit3' => 'grape','fruit4' => 'apple','fruit5' => 'apple');
  while ($fruit_name = current($array)) {
      if ($fruit_name == 'apple') {
        echo key($array).'';
      }
      next($array);
  }
输出结果:fruit1,fruit4,fruit5

current():返回数组中的当前单元
  $transport = array('foot', 'bike', 'car', 'plane');
  $mode = current($transport); // $mode = 'foot';
  $mode = next($transport);    // $mode = 'bike';
  $mode = current($transport); // $mode = 'bike';
  $mode = prev($transport);    // $mode = 'foot';
  $mode = end($transport);     // $mode = 'plane';
  $mode = current($transport); // $mode = 'plane';
注意看范例 返回数组中的当前单元

count():计算数组中单元的个数
  $arr=array(1,2,3,4,5,6);
  echo count($arr);
输出结果:6

    array_change_key_case()
array_change_key_case返回字符串键名全为小写或者大写的数组
其中包含的形态函数有两个[CASE_UPPER]转换为大写,[CAS_LOWER]转换为小写。
  $input_array = array("FirSt" => 1, "SecOnd" => 4);
  print_r(array_change_key_case($input_array, CASE_UPPER));
输出结果:Array ( [FIRST] => 1 [SECOND] => 4 ) 

    array_chunk()
array_chunk()次函数会将目标数组的资料内容,以指定索引个数,分解成数个小型数组包含在原数组中。
  $arr=array(1,2,3,4,5,6);
  $a=array_chunk($arr,3);
  print_r($a);
输出结果:Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) )
也就是等于用数组单元个数的总和除以3

    array_count_values
array_count_values  用来计算目标数组中各值出现的次数
语法格式:array_count_values(目标数组)
此函数所传回结果值,会以原数组的内容资料作为索引,以数组的形态表现。
  $arr=array(1,2,3,3,2,6);
  print_r(array_count_values($arr));
输出结果:Array ( [1] => 1 [2] => 2 [3] => 2 [6] => 1 )  
    

12下一页阅读全文


  • 上一条:
    php学习 面向对象 课件第1/2页
    下一条:
    php学习 字符串课件
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客