当前位置: 首页 > news >正文

PHP5.4第二天——数组、多维数组和数组函数

一、数组介绍

数组分为一维数组,二维数组和多维数组,但无论是一维还是多维,可以统一将数组分为数字索引数组和关联数组两种。
每个元素由一个特殊的标识符来区分,称之为键(key)而每个键对应一个值(value)
数组下标从0开始
二、数组基本写作格式
简单形式:array(值1,值2,值3, ……)
Array(“aa”,12,true,2.2,”test”,50);   //

完整形式:array(键1=>值1,键2=>值2,键3=>值3,……)
Array(“title”=>“aa”,  ”age”=>20);
注解: 当指定键名时候只能通过键名访问数组,不能使用键值访问数组啦
 
(一)数组的创建、修改、删除、使用
$arr = array(11,22,33,44);
1. 修改数组元素:
  $arr[0]=66;    //数组变为$arr = array(66,22,33,44);
2. 删除数组元素:
 unset($arr[0]);    //数组变为$arr = array(22,33,44);
3. 访问单个元素,可以通过下标或者通过键名访问
 $arr = array(11,22,33,44);
 echo  $arr[0]    //值为11
 $arr = array(‘a’=>11,’b’=>22,’c’=>33);
 echo  $arr[‘b’]    //值为22
4. 遍历数组就是将数组里的元素根据要求逐个打印或得到相关的值,我们可以通过PHP5之后提供的一个非常不错的函数foreach实现,格式如下:
 foreach($arr  as $key => $val){
   [相关$key 或 $val 内容]
}
其中:val指键名或键值
$info = array("A"=>"php","B"=>"100","C"=>"com"); 
foreach($info as $value){         //无键名模式
   echo $value."<br>"; 
}

echo "<hr>";
foreach($info as $id=>$value){    //有键名、键值模式
   echo $id."---".$value."<br>"; 
} 
默认情况下foreach只能用在一维数组中
(二)二维数组
二维数组或者多维数组其实我们可以理解成为数组里面再次包含了数组类型的值,并通过同样的思路去访问。
$arr = array(array("P","PP","PPP"),array("H","HH","HHH") );
echo $arr[1][2];
(三)数组相关函数

示例1:改变数组默认下标

<?php
$arr=array(6=>"a","v",67=>"c","d");
print_r($arr);
?>

显示为:
Array
(  [6] => a
   [7] => v
   [67] => c
   [68] => d
)

示例2:遍历二维数组

<?php
$arr=array(array('3','333'),"a","v","c","d");

foreach($arr as $id=> $v)
{
    if(is_array($v))
    {
        foreach($v as $vv){
            echo $vv."个<br>";
       }//end foreach
    }else{
        echo $v.."个<br>";
     }   
}
?>

示例3:数组排序

//按键值排序
<?php
$arr=array(4,2,6,1);
sort($arr);
print_r($arr);
?>
//按键名排序
<?php
$arr1=array("a"=>4,"A"=>2,"C"=>6,"d"=>1);
ksort($arr1);
print_r($arr1);
?>

 



相关文章:

  • MySQL数据库中delimiter的作用概述
  • unigui验证微信服务器的有效性
  • python PIL except: IOError: decoder jpeg not available
  • Pyp 替代sed,awk的文本处理工具
  • 看电影读小说,你就能懂经济学
  • android 开发环境安装和测试中常出现的问题
  • 转---9 个开始使用 C++11 的理由
  • 技本功丨呀~我不会写CSS之vertical-align(上集)
  • 如何正确理解,内页权重高于首页?
  • Android adb 修改手机代理方式
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • 不测的秘密:精准测试之路----读书笔记(第四章)
  • (译) 函数式 JS #1:简介
  • 独热编码
  • Intellij Idea 关闭自动保存、标记修改未保存文件为星号、修改内存大小
  • 深入了解以太坊
  • 《Java编程思想》读书笔记-对象导论
  • 【node学习】协程
  • angular组件开发
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Java超时控制的实现
  • Joomla 2.x, 3.x useful code cheatsheet
  • js正则,这点儿就够用了
  • PAT A1120
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Rancher-k8s加速安装文档
  • SQLServer插入数据
  • 闭包--闭包作用之保存(一)
  • 第十八天-企业应用架构模式-基本模式
  • 搞机器学习要哪些技能
  • 力扣(LeetCode)21
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 面试遇到的一些题
  • 写给高年级小学生看的《Bash 指南》
  • # C++之functional库用法整理
  • # include “ “ 和 # include < >两者的区别
  • #pragma 指令
  • #WEB前端(HTML属性)
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (13):Silverlight 2 数据与通信之WebRequest
  • (done) 两个矩阵 “相似” 是什么意思?
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (备忘)Java Map 遍历
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)创业家杂志:UCWEB天使第一步
  • ***利用Ms05002溢出找“肉鸡
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证