Heim > php教程 > php手册 > Hauptteil

经验之谈PHP数组函数总结

WBOY
Freigeben: 2016-06-13 11:04:17
Original
1105 Leute haben es durchsucht

这几天在网上看了很多有关PHP数组函数的相关知识,觉得孔老夫子的“温故而知新”果然不假,这里是我总结的一些经验,希望对大家有帮助。

PHP中的数组实际上是一个有序图,图是一种把values映射到keys的类型。此类型在很多方面做了优化,因此你可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个PHP数组作为值,也可以很容易地模拟树。解释这些结构超出了本手册的范围,但对于每种结构你至少会发现一个例子。要得到这些结构的更多信息,我们建议你参考有关此广阔主题的外部著作,以下特记下我的一些PHP数组函数体会:

1.将一个1维数组分割成2维数组array_chunk()

<ol class="dp-xml">
<li class="alt"><span><span>$</span><span class="attribute"><font color="#ff0000">input_array</font></span><span>=array('a','b','c','d','e');  </span></span></li>
<li class=""><span>print_r(array_chunk($input_array,2)); </span></li>
</ol>
Nach dem Login kopieren

2.比较2个数组,array_diff_assoc()或者array_diff(),如果返回值为空,表示两个数组相同,否则就不同。

3.用一个函数来过滤数组中的数值array_filter()

<ol class="dp-xml">
<li class="alt"><span><span>functionodd($var){  </span></span></li>
<li class="">
<span>return($var%</span><span class="attribute"><font color="#ff0000">2</font></span><span>==1);  </span>
</li>
<li class="alt"><span>}  </span></li>
<li class=""><span>functioneven($var){  </span></li>
<li class="alt">
<span>return($var%</span><span class="attribute"><font color="#ff0000">2</font></span><span>==0);  </span>
</li>
<li class=""><span>}  </span></li>
<li class="alt">
<span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array1</font></span><span>=array("a"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>1,"b"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>2,"c"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>3,"d"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>4,"e"=</span><span class="tag"><strong><font color="#006699">></font></strong></span><span>5);  </span>
</li>
<li class="">
<span>$</span><span class="attribute-value"><font color="#0000ff">array</font></span><span class="attribute"><font color="#ff0000">array2</font></span><span>=array(6,7,8,9,10,11,12);  </span>
</li>
<li class="alt"><span>echo"Odd:n";  </span></li>
<li class=""><span>print_r(array_filter($array1,"odd"));  </span></li>
<li class="alt"><span>echo"Even:n";  </span></li>
<li class=""><span>print_r(array_filter($array2,"even"));  </span></li>
<li class="alt">
<span></span><span class="tag"><strong><font color="#006699">?></font></strong></span><span> </span>
</li>
</ol>
Nach dem Login kopieren

4.array_map()将回调函数作用到给定数组的单元上,它的参数可以是一个数组,也可以是多个数组,回调函数的参数必须要和调用它的参数相同。

<ol class="dp-xml">
<li class="alt"><span><span>//单个参数的例子,将数组中的每个值,乘以它的3次方  </span></span></li>
<li class=""><span>functioncube($n){  </span></li>
<li class="alt"><span>return$n*$n*$n;  </span></li>
<li class=""><span>}  </span></li>
<li class="alt"><span> </span></li>
<li class="">
<span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">array</span><span>(1,2,3,4,5);  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">b</span><span>=</span><span class="attribute-value">array_map</span><span>("cube",$a);  </span>
</li>
<li class=""><span>print_r($b);  </span></li>
<li class="alt">
<span></span><span class="tag">?></span><span> </span>
</li>
<li class=""><span> </span></li>
<li class="alt"><span>//多个数组参数的例子  </span></li>
<li class=""><span>functionshow_Spanish($n,$m){  </span></li>
<li class="alt"><span>return"Thenumber$niscalled$minSpanish";  </span></li>
<li class=""><span>}  </span></li>
<li class="alt"><span> </span></li>
<li class=""><span>functionmap_Spanish($n,$m){  </span></li>
<li class="alt">
<span>returnarray($</span><span class="attribute">n</span><span>=</span><span class="tag">></span><span>$m);  </span>
</li>
<li class=""><span>}  </span></li>
<li class="alt"><span> </span></li>
<li class="">
<span>$</span><span class="attribute">a</span><span>=</span><span class="attribute-value">array</span><span>(1,2,3,4,5);  </span>
</li>
<li class="alt">
<span>$</span><span class="attribute">b</span><span>=</span><span class="attribute-value">array</span><span>("uno","dos","tres","cuatro","cinco");  </span>
</li>
<li class=""><span> </span></li>
<li class="alt">
<span>$</span><span class="attribute">c</span><span>=</span><span class="attribute-value">array_map</span><span>("show_Spanish",$a,$b);  </span>
</li>
<li class=""><span>print_r($c);  </span></li>
<li class="alt">
<span>$</span><span class="attribute">d</span><span>=</span><span class="attribute-value">array_map</span><span>("map_Spanish",$a,$b);  </span>
</li>
<li class=""><span>print_r($d);  </span></li>
<li class="alt">
<span></span><span class="tag">?></span><span> </span>
</li>
<li class=""><span>//输出结果  </span></li>
<li class="alt"><span>//printoutof$c  </span></li>
<li class=""><span>Array  </span></li>
<li class="alt"><span>(  </span></li>
<li class="">
<span>[0]=</span><span class="tag">></span><span>Thenumber1iscalledunoinSpanish  </span>
</li>
<li class="alt">
<span>[1]=</span><span class="tag">></span><span>Thenumber2iscalleddosinSpanish  </span>
</li>
<li class="">
<span>[2]=</span><span class="tag">></span><span>Thenumber3iscalledtresinSpanish  </span>
</li>
<li class="alt">
<span>[3]=</span><span class="tag">></span><span>Thenumber4iscalledcuatroinSpanish  </span>
</li>
<li class="">
<span>[4]=</span><span class="tag">></span><span>Thenumber5iscalledcincoinSpanish  </span>
</li>
<li class="alt"><span>)  </span></li>
</ol>
Nach dem Login kopieren

以上就是有关PHP数组函数的相关总结,大家要熟记啊。


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!