设为首页收藏本站language 语言切换
查看: 1340|回复: 0
收起左侧

理解动态网页技术PHP与数组的应用

[复制链接]
发表于 2010-2-24 13:36:46 | 显示全部楼层 |阅读模式
<p><div id="text"><p> PHP 4.0中新添加了30个与组数有关的函数,其中一些常见的函数可以判断一个数组中是否包含某个元素,对一个数组中的元素进行计数,添加或删除数组中的元素或者对数组中的元素进行排序。 </p><p>  如果有一个很大的数组,而你需要找出其中是否包含一个特定的元素,就可以使用in_array()。下面的例子将显示“Not found in this array”,因为在一个名字为&#36;namesArray的数组中查找Albert,而在&#36;namesArray数组中不存在这样一个元素。 </p><p >&lt;? &#36;namesArray = array(&quot;Joe&quot;, &quot;Jane&quot;, &quot;Bob&quot;, &quot;Mary&quot;, &quotaul&quot;, &quot;Eddie&quot;, &quot;John&quot;); <br />&#36;lookingFor = &quot;Albert&quot;; <br />if (in_array(&#36;lookingFor, &#36;namesArray)) &#123; <br />echo &quot;You've found it!&quot;; <br />&#125; else &#123; <br />echo &quot;Not found in this array!&quot;; <br />&#125; <br />?&gt; </p><p>  如果把&#36;lookingFor的值改为Mary,就会得到“You've found it!”的信息,因为Mary是&#36;namesArray数组中的一个元素。 </p><p>  如果要对一个数组中的元素个数进行计数,只要简单地使用count()函数即可: </p><p >&lt;? &#36;namesArray = array(&quot;Joe&quot;, &quot;Jane&quot;, &quot;Bob&quot;, &quot;Mary&quot;, &quotaul&quot;, &quot;Eddie&quot;, &quot;John&quot;); <br />&#36;count = count(&#36;namesArray); ?&gt; </p><p>  返回的&#36;count的值为7。 </p><p>  可以在一个数组的开头或结尾处添加元素,还可以使用array_merge()来建立一个包含二个或更多数组中元素的新数组,合并时,元素的顺序会按指定的顺序排列,如果原来的数组是被排过序的,在合并后需要对它重新排序。 </p><p>  我们可以首先利用array_push()在数组的结尾处添加一个元素: </p><p >&lt;? /* 建立一个数组 */ <br />&#36;fruitArray = array(&quot;apple&quot;, &quot;orange&quot;, &quot;banana&quot;, &quot;kiwi&quot;, &quot;pear&quot;); <br />/* 向数组中添加元素 */ <br />array_push(&#36;fruitArray, &quot;grape&quot;, &quot;pineapple&quot;, &quot;tomato&quot;); <br />/*显示每个元素及其序号*/ <br />while (list(&#36;key,&#36;value) = each(&#36;fruitArray)) &#123; <br />echo &quot;&#36;key : &#36;value&lt;br&gt;&quot;; <br />&#125; <br />?&gt; </p><p>  运行上面的程序将得到下面的结果: </p><p>  0 : apple <br />  1 : orange <br />  2 : banana <br />  3 : kiwi <br />  4 : pear <br />  5 : grape <br />  6 : pineapple <br />  7 : tomato</p><p>  如果需要在数组的开头添加元素,其代码与上面的代码差不多,唯一的不同之处是需要用array_unshift()代替array_push()。 </p><p >&lt;? <br />/* 建立一个数组*/ <br />&#36;fruitArray = array(&quot;apple&quot;, &quot;orange&quot;, &quot;banana&quot;, &quot;kiwi&quot;, &quot;pear&quot;); <br />/* 向数组中添加元素*/ <br />array_unshift(&#36;fruitArray, &quot;grape&quot;, &quot;pineapple&quot;, &quot;tomato&quot;); <br />/* 显示每个元素及其序号*/ <br />while (list(&#36;key,&#36;value) = each(&#36;fruitArray)) &#123; <br />echo &quot;&#36;key : &#36;value&lt;br&gt;&quot;; <br />&#125; <br />?&gt; </p><p>  运行上面的程序将得到下面的结果: </p><p>  0 : grape <br />  1 : pineapple <br />  2 : tomato <br />  3 : apple <br />  4 : orange <br />  5 : banana <br />  6 : kiwi <br />  7 : pear </p><p>  array_merge()函数可以把二个或更多的数组合并为一个数组。 </p><p >&lt;? /*建立第一个数组*/ <br />&#36;fruitArray = array(&quot;apple&quot;, &quot;orange&quot;, &quot;banana&quot;, &quot;kiwi&quot;, &quot;pear&quot;); <br />/*/建立第二个数组*/ <br />&#36;vegArray = array(&quot;carrot&quot;, &quot;green beans&quot;, &quot;asparagus&quot;, &quot;artichoke&quot;, &quot;corn&quot;); <br />/*把这二个数组合并为一个数组*/ <br />&#36;goodfoodArray = array_merge(&#36;fruitArray, &#36;vegArray); <br />/* 显示每个元素及其序号*/ <br />while (list(&#36;key,&#36;value) = each(&#36;goodfoodArray)) &#123; <br />echo &quot;&#36;key : &#36;value&lt;br&gt;&quot;; <br />&#125; <br />?&gt; </p><p>  运行上面的脚本将得到下面的结果: </p><p>  0 : apple <br />  1 : orange <br />  2 : banana <br />  3 : kiwi <br />  4 : pear <br />  5 : carrot <br />  6 : green beans <br />  7 : asparagus <br />  8 : artichoke <br />  9 : corn </p><p>  现在我们已经掌握了如何添加元素和合并数组,我们再来看看如何从一个数组中删除元素。从一个数组的末尾删除一个元素可以使用array_pop ()函数,使用array_shift()函数可以从一个数组的开头删除一个元素。尽管使用array_pop()或 array_shift()从数组中删除了一个元素,你还可以把这个元素当作一个变量来使用。</p><p >  使用array_pop()从一个数组的末尾删除一个元素:<br /> <br />&lt;? <br />/*建立一个数组*/ <br />&#36;fruitArray = array(&quot;apple&quot;, &quot;orange&quot;, &quot;banana&quot;, &quot;kiwi&quot;, &quot;pear&quot;); <br />/* 从数组的末尾删除一个元素*/ <br />&#36;popped = array_pop(&#36;fruitArray); <br />/* 显示删除后数组的内容和你删除的元素*/ <br />while (list(&#36;key,&#36;value) = each(&#36;fruitArray)) &#123; <br />echo &quot;&#36;key : &#36;value&lt;br&gt;&quot;; <br />&#125; <br />echo &quot;&lt;br&gt;and finally, in &#36;popped: &#36;popped&quot;; <br />?&gt; </p><p>  运行上面的脚本会得到下面的结果: </p><p>  0 : apple <br />  1 : orange <br />  2 : banana <br />  3 : kiwi <br />  and finally, in &#36;popped: pear </p><p >  我们再来讨论一个从一个数组的末尾删除元素的例子:<br /> <br />&lt;? <br />/* 建立一个数组*/ <br />&#36;fruitArray = array(&quot;apple&quot;, &quot;orange&quot;, &quot;banana&quot;, &quot;kiwi&quot;, &quot;pear&quot;); <br />/*从一个数组的开始删除一个元素*/ <br />&#36;shifted = array_shift(&#36;fruitArray); <br />/* 显示删除后数组的内容和你删除的元素*/ <br />while (list(&#36;key,&#36;value) = each(&#36;fruitArray)) &#123; <br />echo &quot;&#36;key : &#36;value&lt;br&gt;&quot;; <br />&#125; <br />echo &quot;&lt;br&gt;and finally, in &#36;shifted: &#36;shifted&quot;; <br />?&gt; </p><p>  运行上述脚本会得到如下的显示结果: </p><p>  0 : orange <br />  1 : banana <br />  2 : kiwi <br />  3 : pear <br />  and finally, in &#36;shifted: apple </p><p>  另外还有几个函数可以对数组中的元素进行排序,但在这里我们将只简要介绍基本的排序函数,说明排序的过程: </p><p >&lt;? /*建立一个数组*/ <br />&#36;fruitArray = array(&quot;apple&quot;, &quot;orange&quot;, &quot;banana&quot;, &quot;kiwi&quot;, &quot;pear&quot;); <br />/* 对数组进行排序*/ <br />sort(&#36;fruitArray); <br />/*显示每个元素及其序号*/ <br />while (list(&#36;key,&#36;value) = each(&#36;fruitArray)) &#123; <br />echo &quot;&#36;key : &#36;value&lt;br&gt;&quot;; <br />&#125; <br />?&gt; </p><p>  运行上述的脚本会得到如下的显示结果: <br />  0 : apple <br />  1 : banana <br />  2 : kiwi <br />  3 : orange <br />  4 : pear</p></div><div align="right"></div></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-5 21:14 , Processed in 0.072909 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表