PHP经过长时间的发展,很多用户都很了解PHP了,这里我发表一下个人理解,和大家讨论讨论,PHP数组实际上是一个有序图。图是一种把values映射到keys的类型。
此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个PHP数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构你至少会发现一个例子。要得到这些结构的更多信息,我们建议你参考有关此广阔主题的外部著作。下面我们就详细的介绍有关PHP数组的相关知识。
PHP数组语法定义array()
立即学习“PHP免费学习笔记(深入)”;
本书图文并茂,详细讲解了使用LAMP(PHP)脚本语言开发动态Web程序的方法,如架设WAMP平台,安装与配置开源Moodle平台,PHP程序设计技术,开发用户注册与验证模块,架设LAMP平台。 本书适合计算机及其相关专业本、专科学生作为学习LAMP(PHP)程序设计或动态Web编程的教材使用,也适合对动态Web编程感兴趣的读者自觉使用,对LAMP(PHP)程序设计人员也具有一定的参考价值。
可以用array()语言结构来新建一个array。它接受一定数量用逗号分隔的key=>value参数对。
<ol class="dp-xml"><li class="alt"><span><span>array([</span><span class="attribute"><font color="#ff0000">key</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>] </span></span></li><li class=""><span>value </span></li><li class="alt"><span>,... </span></li><li class=""><span>) </span></li><li class="alt"><span>//key可以是integer或者string </span></li><li class=""><span>//value可以是任何值 </span></li><li class="alt"><span> </span></li><li class=""><span></span><strong><font color="#006699"><span class="tag"><?</span><span class="tag-name">php</span></font></strong><span> </span></li><li class="alt"><span>$</span><span class="attribute"><font color="#ff0000">arr</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">array</font></span><span>("foo"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>"bar",</span><span class="attribute"><font color="#ff0000">12</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>true); </span></li><li class=""><span> </span></li><li class="alt"><span>echo$arr["foo"];//bar </span></li><li class=""><span>echo$arr[12];//1 </span></li><li class="alt"><span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span></li></ol>key可以是integer或者string。如果键名是一个integer的标准表达方法,则被解释为整数(例如"8"将被解释为8,而"08"将被解释为"08")。PHP中数组下标的变量类型不会对数组造成影响,数组的类型只有一种,它可以同时包含整型和字符串型的下标,值可以是任何值。
<ol class="dp-xml"><li class="alt"><span><strong><font color="#006699"><span class="tag"><?</span><span class="tag-name">php</span></font></strong><span> </span></span></li><li class=""><span>$</span><span class="attribute"><font color="#ff0000">arr</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">array</font></span><span>("somearray"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>array(</span><span class="attribute"><font color="#ff0000">6</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>5,</span><span class="attribute"><font color="#ff0000">13</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>9,"a"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>42)); </span></li><li class="alt"><span>echo$arr["somearray"][6];//5 </span></li><li class=""><span>echo$arr["somearray"][13];//9 </span></li><li class="alt"><span>echo$arr["somearray"]["a"];//42 </span></li><li class=""><span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span></li></ol>如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果你指定的键名已经有了值,则该值会被覆盖。
<ol class="dp-xml"><li class="alt"><span><strong><font color="#006699"><span class="tag"><?</span><span class="tag-name">php</span></font></strong><span> </span></span></li><li class=""><span>//Thisarrayisthesameas... </span></li><li class="alt"><span>array(</span><span class="attribute"><font color="#ff0000">5</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>43,32,56,"b"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>12); </span></li><li class=""><span> </span></li><li class="alt"><span>//...thisarray </span></li><li class=""><span>array(</span><span class="attribute"><font color="#ff0000">5</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>43,</span><span class="attribute"><font color="#ff0000">6</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>32,</span><span class="attribute"><font color="#ff0000">7</font></span><span>=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>56,"b"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>12); </span></li><li class="alt"><span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span></li></ol>










