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

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

WBOY
WBOYasal
2016-06-13 11:13:491111semak imbas

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>

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


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn