教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php 5.2.x 不被注意的细节: 数组篇

php 5.2.x 不被注意的细节: 数组篇

发布时间:2016-10-29   编辑:jiaochengji.com
教程集为您提供php 5.2.x 不被注意的细节: 数组篇等资源,欢迎您收藏本站,我们将为您提供最新的php 5.2.x 不被注意的细节: 数组篇资源

刚看了php的教程,由于php版本的问题发现数组这边有地方可以研究
针对 php5.2.5 做了几个实验发现:

 

1、



<span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">array</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">b</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">3</span><span style="COLOR: #000000" twffan="done">);</span>

但是如果这样定义数组会报编译错误:



<span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">array</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">b</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">3</span><span style="COLOR: #000000" twffan="done">);</span>

所以定义数组的时候只能用 =>

 

2、



<span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">array</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">b</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">3</span><span style="COLOR: #000000" twffan="done">);
</span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[</span><span style="COLOR: #000000" twffan="done">0</span><span style="COLOR: #000000" twffan="done">];
</span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[</span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">];</span>

打出来的是一片空白,这样才打的出来:



<span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">];</span>

 


3、增加元素或修改元素的时候只能用 =  了,不能用 =>



<span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">array</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">b</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">3</span><span style="COLOR: #000000" twffan="done">);
</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">] </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">6</span><span style="COLOR: #000000" twffan="done">;</span>


像这样在以前的版本中也许可以使用,但是到了 5.2.5 就会出现编译错误
增加元素或修改元素要像以下这样写:



<span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">array</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">b</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">3</span><span style="COLOR: #000000" twffan="done">);
</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">d</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">] </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">4</span><span style="COLOR: #000000" twffan="done">;
</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">] </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">6</span><span style="COLOR: #000000" twffan="done">;</span>
删除元素要使用 unset  


<span style="COLOR: #0000ff" twffan="done">unset</span><span style="COLOR: #000000" twffan="done"> (</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">c</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">]);</span>

 

4、做个实验,猜猜这样打出来是什么:



<span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">array</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">b</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">3</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">4</span><span style="COLOR: #000000" twffan="done">);
</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">[] </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">5</span><span style="COLOR: #000000" twffan="done">;
</span><span style="COLOR: #0000ff" twffan="done">foreach</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">as</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #800080" twffan="done">$key</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #800080" twffan="done">$value</span><span style="COLOR: #000000" twffan="done">)
{
    </span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">key:$key value:$value<br></span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">;
}</span>

 

结果:

key:a value:1
key:0 value:2
key:b value:3
key:1 value:4
key:2 value:5

这样就很明了,只有在用户没有定义键的时候 php 才会自动使用从0开始的数字作为键

 

5、php 中的数组是有指针的,可以对数组进行向前向后操作



<span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #0000ff" twffan="done">array</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">a</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">1</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">3</span><span style="COLOR: #000000" twffan="done">,</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">b</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">=></span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #000000" twffan="done">2</span><span style="COLOR: #000000" twffan="done">);
</span><span style="COLOR: #008000" twffan="done">//</span><span style="COLOR: #008000" twffan="done">创建完数组后默认指针指在第一个元素</span><span style="COLOR: #008000" twffan="done">
</span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #008080" twffan="done">current</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">)</span><span style="COLOR: #000000" twffan="done">.</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">;
</span><span style="COLOR: #008000" twffan="done">//</span><span style="COLOR: #008000" twffan="done">前进一个位置</span><span style="COLOR: #008000" twffan="done">
</span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #008080" twffan="done">next</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">)</span><span style="COLOR: #000000" twffan="done">.</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">;
</span><span style="COLOR: #008000" twffan="done">//</span><span style="COLOR: #008000" twffan="done">整理的默认原则是从小到大</span><span style="COLOR: #008000" twffan="done">
</span><span style="COLOR: #008080" twffan="done">sort</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">);
</span><span style="COLOR: #008000" twffan="done">//</span><span style="COLOR: #008000" twffan="done">整理完后数组指针又停在第一个元素</span><span style="COLOR: #008000" twffan="done">
</span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #008080" twffan="done">current</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">)</span><span style="COLOR: #000000" twffan="done">.</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">;
</span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #008080" twffan="done">next</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">)</span><span style="COLOR: #000000" twffan="done">.</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">;
</span><span style="COLOR: #008000" twffan="done">//</span><span style="COLOR: #008000" twffan="done">后退一个位置</span><span style="COLOR: #008000" twffan="done">
</span><span style="COLOR: #0000ff" twffan="done">echo</span><span style="COLOR: #000000" twffan="done"> </span><span style="COLOR: #008080" twffan="done">prev</span><span style="COLOR: #000000" twffan="done">(</span><span style="COLOR: #800080" twffan="done">$arr</span><span style="COLOR: #000000" twffan="done">)</span><span style="COLOR: #000000" twffan="done">.</span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done"><br></span><span style="COLOR: #000000" twffan="done">"</span><span style="COLOR: #000000" twffan="done">;</span>


输出:

1
3
1
2
1

 



您可能感兴趣的文章:
php 5.2.x 输出操作的细节
php 5.2.x 数组操作细节分享
php date_parse函数的使用方法详解
php版本哪个好
PHP编码开发规范的介绍(附示例)
php哪个版本稳定?
Lumen 5.2 HTTP 路由入门教程
Lumen 5.2 用户授权的例子详解
php为js数组赋值方法
php对象转数组方法

[关闭]
~ ~