PHP 数组浅析
PHP的数组具有如下特点:
1.数组初始化时无需指定长度;
2.数组中的元素无需相同类型;
3.数组的长度可变
4.可使用var_dump(参数)或者print_r( 参数) 函数查看数组变量。
5.数组内的元素可以通过一个key来对应一个元素:a.key可以是整数,字符串,也可以省略
b. 键相同时,后面的值会覆盖前值
c.键 "9" 会强制转换成 9
***当元素的内容添加了key的时候,无法用for循环输出其带key的内容
<?php
$arrayName = array('a'=>"aaa" ,"131","dsds","fdsfsdf","ewfefewf"); for ($i=0; $i <5 ; $i++) {
echo $arrayName[$i];
echo "<br>"; } ?>
6.给数组元素赋值时,如元素已存在,则为修改;如元素不存在,则为添加。
$names = array(
1=>"Billy", 3=>"Peter", "vip"=>"Steve"
);
$names[3]="Tim"; // 修改
$names[9]="Alan"; // 添加
$names["vip"]="William"; // 修改
$names["good"]="Bob"; // 添加
$names[]="Daniel"; // 添加
7.使用unset()函数删除数组元素:
$names = array(
1=>"Billy",
3=>"Peter",
"vip"=>"Steve"
);
unset($names["vip"]);
unset($names[3]);
$names[]="Eric";
print_r($names);
unset($names);//删除整个数组
8.常用的数组函数
count():数组元素个数;
max()最大 min()最小 array_sum()总和
in_array():是否存在某个值;
array_search():是否存在值并返回索引
array_key_exists():是否存在某个键;
array_keys():返回所有键于新数组;
array_values():返回所有值于新数组。
range()函数:指定范围快速生成数组:
<?php
$num_arr=range(1,5);
$char_arr=range('E','A');
print_r($num_arr);
print_r($char_arr); ?>
explode()函数根据分隔符分割字符串,结果生成一个新数组(implode()函数功能相反):
<?php
$date="2015-3-15";
$arr=explode("-",$date);
print_r($arr); ?>
extract()是将数组元素的变量转化为字符串变量;compact()相反。
使用list()和数组为一组变量赋值:
<?php
$names = array("Billy", "Peter", "Steve");
list($n1,$n2,$n3)=$names;
echo "$n1 $n2 $n3";
?>
PHP 数组浅析的更多相关文章
- Java知识点汇总
Java中泛型的本质 Java中静态变量的适用场景 Java类加载原理及类加载器 Java中对Clone的理解 Java中HashMap的实现 Java中Collection和Collections的 ...
- 浅析PHP中for与foreach两个循环结构遍历数组的区别
遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法.用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论.所谓管中窥豹,多少能理清一点两者的区 ...
- <转>浅析长度为0的数组
前面在看Xen的源码时,遇到了一段代码,如下所示: 注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?……这篇文章主要针对该 ...
- JavaScript 中数组实用浅析
本文适用于HTML.ASP 中的 JavaScript 脚本代码.代码以 HTML 中的 JS 为例,如果在 ASP 中,请将 document.write 改为 Response.Write 即可. ...
- 包装类、数组、string类浅析及练习
String s1 = "abc"; String s2 = "abc"; System.out.println(s1==s2); //返回true Strin ...
- 浅析JavaScript之数组
一 概述 JavaScript数组同后端语言一样,具有它自己的数据结构,归根结底,这种数据结构,本质就是一种集合. 在后端语言中(如java,.net等),数组是这样定义的:数组是用来存储相同数据类 ...
- 浅析Java 数组-基础详解
什么是数组:数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 数组:用来存储固定大小的同类型元素. 一 声明.创建,初始化Java 数组 写在前面 ...
- JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)
①文本对象document: 例如:document.getElementById() 只获取一个对象 document.getElementsByTagName() 获取 ...
- AJPFX浅析Java数组
数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信息分组的便利方法.注意:如 ...
随机推荐
- .NET Core 首例 Office 开源跨平台组件(NPOI Core)
前言 最近项目中,需要使用到 Excel 导出,找了一圈发现没有适用于 .NET Core的,不依赖Office和操作系统限制的 Office 组件,于是萌生了把 NPOI 适配并移植到 .NET C ...
- 使用etree.HTML的编码问题
title: 使用etree.HTML的编码问题 date: 2015-10-07 17:56:47 categories: [Python] tags: [Python, lxml, Xpath] ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(74)-微信公众平台开发-自定义菜单
系列目录 引言 1.如果不借用Senparc.Weixin SDK自定义菜单,编码起来,工作量是非常之大 2.但是借助SDK似乎一切都是简单得不要不要的 3.自定义菜单无需要建立数据库表 4.自定义菜 ...
- Android消息传递之基于RxJava实现一个EventBus - RxBus
前言: 上篇文章学习了Android事件总线管理开源框架EventBus,EventBus的出现大大降低了开发成本以及开发难度,今天我们就利用目前大红大紫的RxJava来实现一下类似EventBus事 ...
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
- 前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型
前端开发:面向对象与javascript中的面向对象实现(二)构造函数与原型 前言(题外话): 有人说拖延症是一个绝症,哎呀治不好了.先不说这是一个每个人都多多少少会有的,也不管它究竟对生活有多么大的 ...
- 嵌入式&iOS:回调函数(C)与block(OC)回调对比
学了OC的block,再写C的回调函数有点别扭,对比下区别,回忆记录下. C的回调函数: callBack.h 1).定义一个回调函数的参数数量.类型. typedef void (*CallBack ...
- SVG:textPath深入理解
SVG的文本可以沿着一条自定义的Path来排布,比如曲线.圆形等等,使用方式如下所示(来源MDN): <svg viewBox="0 0 1000 300" xmlns=&q ...
- Android,适合Restful网络请求封装
借助volley.Gson类库. 优点 网络请求集中处理,返回值直接为预期的对象,不需要手动反序列,提高效率,使用时建立好model类即可. 使用效果 DataProess.Request(true, ...
- Entity Framework 6 Recipes 2nd Edition(13-1)译 -> 优化TPT继承模型的查询
问题 你想提高在一个TPT继承模型里的查询 解决方案 让我们假设有一个简单的TPT继承模型,如图Figure 13-1 Figure 13-1. A simple Table per Type inh ...