官术网_书友最值得收藏!

7.9 查詢數(shù)組中指定元素

視頻講解:光盤\TM\lx\7\09 查詢數(shù)組中指定元素.mp4

array_search()函數(shù)用于在數(shù)組中搜索給定的值,找到后返回鍵名,否則返回false。在PHP 4.2.0之前,函數(shù)在失敗時(shí)返回null而不是false。

語法格式如下:

        mixed array search ( mixed needle, array haystack [, bool strict])

其中,needle指定在數(shù)組中搜索的值;haystack指定被搜索的數(shù)組;strict為可選參數(shù),如果值為true,還將在數(shù)組中檢查給定值的類型。

【例7.12】本例綜合應(yīng)用數(shù)組函數(shù)實(shí)現(xiàn)更新數(shù)組中元素的值,實(shí)例代碼如下:(實(shí)例位置:光盤\TM\sl\7\12)

        <?php
          $name = "智能機(jī)器人@數(shù)碼相機(jī)@天翼3G手機(jī)@瑞士手表"; //定義字符串
          $price ="14998@2588@2666@66698";
          $counts = "1@2@3@4";
          $arrayid=explode("@", $name);                         //將商品ID的字符串轉(zhuǎn)換到數(shù)組中
          $arraynum=explode("@", $price);                       //將商品價(jià)格的字符串轉(zhuǎn)換到數(shù)組中
          $arraycount=explode("@", $counts);                    //將商品數(shù)量的字符串轉(zhuǎn)換到數(shù)組中
          if(isset($_POST['Submit']) && $_POST['Submit']==true){
              $id=$_POST['name'];                               //獲取要更改的元素名稱
              $num=$_POST['counts'];                            //獲取更改的值
              $key=array_search($id, $arrayid);                 //在數(shù)組中搜索給定的值,如果成功則返回鍵名
              $arraycount[$key]=$num;                           //更改商品數(shù)量
              $counts=implode("@", $arraycount);                //將更改后的商品數(shù)量添加到購(gòu)物車中
          }
        ?>
        <table width="580" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#c17e50">
            <tr>
                <td width="145"align="center"bgcolor="#FFFFFF"  class="STYLE1">商品名稱</td>
                <td width="145"align="center"bgcolor="#FFFFFF"  class="STYLE1">價(jià)格</td>
                <td width="145"align="center"bgcolor="#FFFFFF"  class="STYLE1">數(shù)量</td>
                <td width="145"align="center"bgcolor="#FFFFFF"  class="STYLE1">金額</td>
            </tr>
          <?php
            for($i=0; $i<count($arrayid); $i++){                 //for循環(huán)讀取數(shù)組中的數(shù)據(jù)
          ?>
          <form name="form1_<?php echo $i; ?>" method="post" action="index.php">
            <tr>
              <td height="25" align="center" bgcolor="#FFFFFF" class="STYLE2"><?php echo $arrayid[$i]; ?></td>
              <td align="center" bgcolor="#FFFFFF" class="STYLE2"><?php echo $arraynum[$i]; ?></td>
              <td align="center" bgcolor="#FFFFFF" class="STYLE2">
                  <input name="counts" type="text" id="counts" value="<?php echo $arraycount[$i]; ?>" size="8">
                  <input name="name" type="hidden" id="name" value="<?php echo $arrayid[$i]; ?>">
                  <input type="submit" name="Submit" value="更改"></td>
              <td align="center" class="STYLE2"><?php echo $arraycount[$i]*$arraynum[$i]; ?></td>
            </tr>
          </form>
          <?php
            }
          ?>
      </table>

在本例中,實(shí)現(xiàn)對(duì)數(shù)組中存儲(chǔ)的商品數(shù)量進(jìn)行修改,其運(yùn)行結(jié)果如圖7.4所示。

圖7.4 更新數(shù)組中元素的值

說明

array_search()函數(shù)最常見的應(yīng)用是購(gòu)物車,實(shí)現(xiàn)對(duì)購(gòu)物車中指定的商品數(shù)量的修改和刪除。

主站蜘蛛池模板: 汽车| 长治市| 南和县| 宁化县| 苍南县| 霍山县| 莒南县| 成武县| 丹棱县| 嘉义市| 伽师县| 抚州市| 景洪市| 株洲市| 全椒县| 漳浦县| 建德市| 凌海市| 临漳县| 曲阳县| 横峰县| 阿坝| 北辰区| 河北省| 许昌市| 道真| 庄河市| 拜城县| 招远市| 道孚县| 凤城市| 大冶市| 宜宾县| 洛川县| 双城市| 宁城县| 郧西县| 章丘市| 增城市| 江达县| 伊川县|