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 数组浅析的更多相关文章

  1. Java知识点汇总

    Java中泛型的本质 Java中静态变量的适用场景 Java类加载原理及类加载器 Java中对Clone的理解 Java中HashMap的实现 Java中Collection和Collections的 ...

  2. 浅析PHP中for与foreach两个循环结构遍历数组的区别

    遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法.用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论.所谓管中窥豹,多少能理清一点两者的区 ...

  3. <转>浅析长度为0的数组

    前面在看Xen的源码时,遇到了一段代码,如下所示: 注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?……这篇文章主要针对该 ...

  4. JavaScript 中数组实用浅析

    本文适用于HTML.ASP 中的 JavaScript 脚本代码.代码以 HTML 中的 JS 为例,如果在 ASP 中,请将 document.write 改为 Response.Write 即可. ...

  5. 包装类、数组、string类浅析及练习

    String s1 = "abc"; String s2 = "abc"; System.out.println(s1==s2); //返回true Strin ...

  6. 浅析JavaScript之数组

    一  概述 JavaScript数组同后端语言一样,具有它自己的数据结构,归根结底,这种数据结构,本质就是一种集合. 在后端语言中(如java,.net等),数组是这样定义的:数组是用来存储相同数据类 ...

  7. 浅析Java 数组-基础详解

    什么是数组:数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 数组:用来存储固定大小的同类型元素. 一 声明.创建,初始化Java 数组 写在前面 ...

  8. JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)

    ①文本对象document: 例如:document.getElementById()    只获取一个对象          document.getElementsByTagName()   获取 ...

  9. AJPFX浅析Java数组

    数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信息分组的便利方法.注意:如 ...

随机推荐

  1. Socket聊天程序——初始设计

    写在前面: 可能是临近期末了,各种课程设计接踵而来,最近在csdn上看到2个一样问答(问题A,问题B),那就是编写一个基于socket的聊天程序,正好最近刚用socket做了一些事,出于兴趣,自己抽了 ...

  2. JdbcTemplate+PageImpl实现多表分页查询

    一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...

  3. 伪共享(false sharing),并发编程无声的性能杀手

    在并发编程过程中,我们大部分的焦点都放在如何控制共享变量的访问控制上(代码层面),但是很少人会关注系统硬件及 JVM 底层相关的影响因素.前段时间学习了一个牛X的高性能异步处理框架 Disruptor ...

  4. C#中如何在Excel工作表创建混合型图表

    在进行图表分析的时候,我们可能需要在一张图表呈现两个或多个样式的图表,以便更加清晰.直观地查看不同的数据大小和变化趋势.在这篇文章中,我将分享C#中如何在一张图表中创建不同的图表类型,其中包括如何在同 ...

  5. 基于fis3的组件可视化道路

    首先说明一下,即使不熟悉fis3,阅读文本应该也会有所收获. 本文以fis-parser-imweb-tplv2插件为模板插件,目的不在于使用哪个模板,而是组件可视化的实现思路,不必担心. 先说说模板 ...

  6. bzoj3037--贪心

    题目大意: applepi手里有一本书<创世纪>,里面记录了这样一个故事--上帝手中有着N 种被称作"世界元素"的东西,现在他要把它们中的一部分投放到一个新的空间中去以 ...

  7. maven 中snapshot版本和release版本的区别

    maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本.定义一个组件/模 ...

  8. 微信小程序开发日记——高仿知乎日报(下)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  9. cesium自定义气泡窗口infoWindow

    一.自定义气泡窗口与cesium默认窗口效果对比: 1.cesium点击弹出气泡窗口显示的位置固定在地图的右上角,默认效果: 2.对于习惯arcgis或者openlayer气泡窗口样式的giser来说 ...

  10. iOS之开发中一些相关的路径以及获取路径的方法

    模拟器的位置: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs ...