«
理解PHP与数组的应用

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  PHP 4.0中新添加了30个与组数有关的函数,其中一些常见的函数可以判断一个数组中是否包含某个元素,对一个数组中的元素进行计数,添加或删除数组中的元素或者对数组中的元素进行排序。</p><p>  如果有一个很大的数组,而你需要找出其中是否包含一个特定的元素,就可以使用in_array()。下面的例子将显示“Not found in this array”,因为在一个名字为$namesArray的数组中查找Albert,而在$namesArray数组中不存在这样一个元素。</p><code>以下为引用的内容:<br /><? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John");<br />$lookingFor = "Albert";<br />if (in_array($lookingFor, $namesArray)) {<br />echo "You've found it!";<br />} else {<br />echo "Not found in this array!";<br />}<br />?></code></p><p>  如果把$lookingFor的值改为Mary,就会得到“You've found it!”的信息,因为Mary是$namesArray数组中的一个元素。</p><p>  如果要对一个数组中的元素个数进行计数,只要简单地使用count()函数即可:</p><code>以下为引用的内容:<br /><? $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John");<br />$count = count($namesArray); ?></code></p><p>  返回的$count的值为7。</p><p>  可以在一个数组的开头或结尾处添加元素,还可以使用array_merge()来建立一个包含二个或更多数组中元素的新数组,合并时,元素的顺序会按指定的顺序排列,如果原来的数组是被排过序的,在合并后需要对它重新排序。</p>
<p> </p>

   <p>  我们可以首先利用array_push()在数组的结尾处添加一个元素:</p><code>以下为引用的内容:<br /><? /* 建立一个数组 */<br />$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");<br />/* 向数组中添加元素 */<br />array_push($fruitArray, "grape", "pineapple", "tomato");<br />/*显示每个元素及其序号*/<br />while (list($key,$value) = each($fruitArray)) {<br />echo "$key : $value<br>";<br />}<br />?></code></p><p>  运行上面的程序将得到下面的结果:</p><p>  0 : apple</p><p>  1 : orange</p><p>  2 : banana</p><p>  3 : kiwi</p><p>  4 : pear</p><p>  5 : grape</p><p>  6 : pineapple</p><p>  7 : tomato</p><p>  如果需要在数组的开头添加元素,其代码与上面的代码差不多,唯一的不同之处是需要用array_unshift()代替array_push()。</p><code>以下为引用的内容:<br /><?<br />/* 建立一个数组*/<br />$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");<br />/* 向数组中添加元素*/<br />array_unshift($fruitArray, "grape", "pineapple", "tomato");<br />/* 显示每个元素及其序号*/<br />while (list($key,$value) = each($fruitArray)) {<br />echo "$key : $value<br>";<br />}<br />?></code></p><p>  运行上面的程序将得到下面的结果:</p><p>  0 : grape</p><p>  1 : pineapple</p><p>  2 : tomato</p><p>  3 : apple</p><p>  4 : orange</p><p>  5 : banana</p>
 <p> </p>

   <p>  6 : kiwi</p><p>  7 : pear</p><p>  array_merge()函数可以把二个或更多的数组合并为一个数组。</p><code>以下为引用的内容:<br /><? /*建立第一个数组*/<br />$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");<br />/*/建立第二个数组*/<br />$vegArray = array("carrot", "green beans", "asparagus", "artichoke", "corn");<br />/*把这二个数组合并为一个数组*/<br />$goodfoodArray = array_merge($fruitArray, $vegArray);<br />/* 显示每个元素及其序号*/<br />while (list($key,$value) = each($goodfoodArray)) {<br />echo "$key : $value<br>";<br />}<br />?></code></p><p>  运行上面的脚本将得到下面的结果:</p><p>  0 : apple</p><p>  1 : orange</p><p>  2 : banana</p><p>  3 : kiwi</p><p>  4 : pear</p><p>  5 : carrot</p><p>  6 : green beans</p><p>  7 : asparagus</p><p>  8 : artichoke</p><p>  9 : corn</p><p>  现在我们已经掌握了如何添加元素和合并数组,我们再来看看如何从一个数组中删除元素。从一个数组的末尾删除一个元素可以使用array_pop()函数,使用array_shift()函数可以从一个数组的开头删除一个元素。尽管使用array_pop()或 array_shift()从数组中删除了一个元素,你还可以把这个元素当作一个变量来使用。</p><p>  使用array_pop()从一个数组的末尾删除一个元素:</p><code>以下为引用的内容:<br /><?<br />/*建立一个数组*/<br />$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");<br />/* 从数组的末尾删除一个元素*/<br />$popped = array_pop($fruitArray);<br />/* 显示删除后数组的内容和你删除的元素*/<br />while (list($key,$value) = each($fruitArray)) {<br />echo "$key : $value<br>";<br />}<br />echo "<br>and finally, in $popped: $popped";<br />?></code></p>
 <p> </p>

   <p>  运行上面的脚本会得到下面的结果:</p><p>  0 : apple</p><p>  1 : orange</p><p>  2 : banana</p><p>  3 : kiwi</p><p>  and finally, in $popped: pear</p><p>  我们再来讨论一个从一个数组的末尾删除元素的例子:</p><code>以下为引用的内容:<br /><?<br />/* 建立一个数组*/<br />$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");<br />/*从一个数组的开始删除一个元素*/<br />$shifted = array_shift($fruitArray);<br />/* 显示删除后数组的内容和你删除的元素*/<br />while (list($key,$value) = each($fruitArray)) {<br />echo "$key : $value<br>";<br />}<br />echo "<br>and finally, in $shifted: $shifted";<br />?></code></p><p>  运行上述脚本会得到如下的显示结果:</p><p>  0 : orange</p><p>  1 : banana</p><p>  2 : kiwi</p><p>  3 : pear</p><p>  and finally, in $shifted: apple</p><p>  另外还有几个函数可以对数组中的元素进行排序,但在这里我们将只简要介绍基本的排序函数,说明排序的过程:</p><code>以下为引用的内容:<br /><? /*建立一个数组*/<br />$fruitArray = array("apple", "orange", "banana", "kiwi", "pear");<br />/* 对数组进行排序*/<br />sort($fruitArray);<br />/*显示每个元素及其序号*/<br />while (list($key,$value) = each($fruitArray)) {<br />echo "$key : $value<br>";<br />}<br />?></code></p><p>  运行上述的脚本会得到如下的显示结果:</p><p>  0 : apple</p><p>  1 : banana</p><p>  2 : kiwi</p></p><p>  3 : orange</p><p>  4 : pear</p></p>