Home  >  Article  >  php教程  >  全面学习PHP数组初始化原理

全面学习PHP数组初始化原理

WBOY
WBOYOriginal
2016-06-13 11:13:491108browse

PHP功能的强大,运用它的人也越来越多,我们这里就PHP数组初始化给大家详细的介绍下。从ASP初入门到PHP,感觉到PHP的强大之一就是内置函数的丰富,比如先前学习的PHP日期时间函数,读写文件的相关函数等都无不表明了PHP的更专业、更令用户的使用得心应手。

一开始我对PHP函数的丰富功能很兴奋,随着对越来越多近乎变态多的函数接触之后,突然联想到了ASP内置函数的稀少,要完成某项特殊功能,常须自定义函数,随着应用的在增多,自己居然也有了一套常用的函数库。然而现在在PHP中,这些功能早已被标准化、规范化而浓缩为内置函数直接使用,曾经的 ASP开发人员成为了PHP的普通用户。

但转念一想,这些函数、这些大量PHP函数的存在,至少说明了PHP的更专业;同时,在我们日常PHP程序处理时应该是很快捷易用的吧,这让开发人员不再为些基础功能、细节功能而去自定义函数,把主要的精力集中在组建更强大的程序模块上。所以,我更加坚定了一看PHP函数到底的信念,不过我想在以后的开发过程中,PHP函数手册应该属于随身书了。

当然,关于ASP和PHP孰优孰劣的争论就无需多讨论,学习并了解能让自己了解真相。言正传,PHP函数太多,防止遗忘,所以每次看完一类函数后我都做个总结和收集工作,方便起见就写篇日志。

PHP数组初始化和定义

什么是数组?数组是一种编程结构,它是一个存储一组或一系列数值的变量。比如人口普查时对个人的身份登记,如姓名、性别、民族、出生等就可作为数组。PHP中创建数组使用array()结构来定义,PHP数组初始化比如:

<ol class="dp-c"><li class="alt"><span><span class="vars">$people</span><span>=</span><span class="keyword">array</span><span>(</span><span class="string">'name'</span><span>,</span><span class="string">'sex'</span><span>,</span><span class="string">'nation'</span><span>,</span><span class="string">'brith'</span><span>);  </span></span></li></ol>

而如何显示数组中的各元素的值,我们则是使用从0开始的索引,索引号在变量名称后的方括号中,比如:

<ol class="dp-c">
<li class="alt"><span><span><?php    </span></span></span></li>
<li>
<span class="vars">$people</span><span>=</span><span class="keyword">array</span><span>(</span><span class="string">'name'</span><span>,</span><span class="string">'sex'</span><span>,</span><span class="string">'nation'</span><span>,</span><span class="string">'birth'</span><span>);   </span>
</li>
<li class="alt">
<span class="func">echo</span><span> </span><span class="vars">$people</span><span>[2];   </span>
</li>
<li><span>?> </span></li>
</ol>

复制代码输出的$people[2]就是显示的是nation(索引第一项从0计数)。PHP除了支持数字索引数组以外,还支持相关数组。所谓相关数组,就是可自定义关键字来替换不直观的数字索引,比如:

<ol class="dp-c">
<li class="alt"><span><span><?php    </span></span></span></li>
<li>
<span class="vars">$peoples</span><span>=</span><span class="keyword">array</span><span>(</span><span class="string">'xm'</span><span>=></span><span class="string">'name'</span><span>,</span><span class="string">'xb'</span><span>=></span><span class="string">'sex'</span><span>,</span><span class="string">'mz'</span><span>=></span><span class="string">'nation'</span><span>,</span><span class="string">'cs'</span><span>=></span><span class="string">'birth'</span><span>);   </span>
</li>
<li class="alt">
<span class="func">echo</span><span> </span><span class="vars">$peoples</span><span>[</span><span class="string">'cs'</span><span>];   </span>
</li>
<li><span>?> </span></li>
</ol>

复制代码使用相关数组使得输出的选择很直观(不需要预先计算索引号然后输出),定义的关键字和值之间使用“=>”符号定义。根据PHP数组元素的两种显示方式,还可以如变量一样无需array()声明和初始化,直接自动创建数字。比如

<ol class="dp-c">
<li class="alt"><span><span class="vars">$people</span><span>[0]=</span><span class="string">'name'</span><span>;   </span></span></li>
<li>
<span class="vars">$people</span><span>[1]=</span><span class="string">'sex'</span><span>;   </span>
</li>
<li class="alt">
<span class="vars">$people</span><span>[2]=</span><span class="string">'nation'</span><span>;   </span>
</li>
<li>
<span class="vars">$people</span><span>[3]=</span><span class="string">'brith'</span><span>;  </span>
</li>
</ol>

复制代码或者

<ol class="dp-c">
<li class="alt"><span><span class="vars">$peoples</span><span>[</span><span class="string">'xm'</span><span>]=</span><span class="string">'name'</span><span>;   </span></span></li>
<li>
<span class="vars">$peoples</span><span>[</span><span class="string">'xb'</span><span>]=</span><span class="string">'sex'</span><span>;   </span>
</li>
<li class="alt">
<span class="vars">$peoples</span><span>[</span><span class="string">'mz'</span><span>]=</span><span class="string">'nation'</span><span>;   </span>
</li>
<li>
<span class="vars">$peoples</span><span>[</span><span class="string">'cs'</span><span>]=</span><span class="string">'birth'</span><span>; </span>
</li>
</ol>

复制代码该数组的大小根据所增加元素的多少动态的变化。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn