ホームページ  >  記事  >  バックエンド開発  >  PHP で配列内の指定された要素をクエリする方法

PHP で配列内の指定された要素をクエリする方法

黄舟
黄舟オリジナル
2017-05-04 10:41:253384ブラウズ

array_search() 関数は、配列内の指定された値を検索し、見つかった場合はキー値を返し、それ以外の場合は false を返します。 PHP 4.2.0 より前では、関数は失敗時に false ではなく null を返しました。

構文形式は次のとおりです

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

パラメータneedeは配列内で検索される値を指定します;パラメータhaystackは検索される配列を指定します;値がtrueの場合、パラメータはオプションです。指定された値が配列内でチェックされます。

次の例では、配列関数を包括的に適用して、配列内の要素の値を更新します。具体的なコード例は次のとおりです。

<?php
header("Content-Type:text/html; charset=utf-8");

$name ="智能机器人@数码相机@天翼 3G 手机@瑞士手表"; //定义字符串
$price = "14998@2588@266@66698";
$counts = "1@2@3@4";
$arrayid = explode("@",$name);                         //将商品 ID的字符串转换到数组中
$arraynum = explode("@",$price);                        //将商品价格的字符串转换到数组中
$arraycount = explode("@",$counts);                      //将商品数量的字符串转换到数组中

if($_POST){
    $id = $_POST["name"];                                //获取要更改的元素名称
    $num = $_POST["counts"];                            //获取要更改的值
    $key = array_search($id,$arrayid);           //在数组中搜索给定的值,如果成功返回键名
    $arraycount[$key]=$num;                      //更改商品数量
    $counts= implode("@",$arraycount);          //更改后的商品数量添加到购物车中
}
?>

<table width="580" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#c17e50">
    <tr>
        <td width="145" class="STYLE1" align="center" bgcolor="#FFFFFF">商品名称</td>
        <td width="145" class="STYLE1" align="center" bgcolor="#FFFFFF">价    格</td>
        <td width="145" class="STYLE1" align="center" bgcolor="#FFFFFF">数    量</td>
        <td width="145" class="STYLE1" align="center" bgcolor="#FFFFFF">金    额</td>
    </tr>
  <?php
  for($i=0;$i<count($arrayid);$i++) {   //for循环读取数组中的数据
      ?>
      <form name="form_<?php echo $i ?>" method="post" action="2.php">
          <tr>
              <td height="25" class="STYLE2" align="center" bgcolor="#FFFFFF"><?php echo $arrayid[$i]; ?></td>
              <td class="STYLE2" align="center" bgcolor="#FFFFFF"><?php echo $arraynum[$i]; ?></td>
              <td class="STYLE2" align="center" bgcolor="#FFFFFF">
                  <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 name="Submit" type="submit" value="更改">
              </td>
              <td class="STYLE2" align="center"><?php echo $arraycount[$i] * $arraynum[$i]; ?></td>

          </tr>
      </form>
  <?php
  }
    ?>
</table>

実行結果は次のとおりです。

PHP で配列内の指定された要素をクエリする方法

上記の例では、配列関数は次のようになります。配列に格納されている値を更新するために包括的に適用され、商品の数量が変更され、上の画像が操作結果です。

説明: array_search() 関数の最も一般的なアプリケーションは、ショッピング カート内の指定された数のアイテムを変更および削除するショッピング カートです。

【関連チュートリアルの推奨事項】

1. 関連トピックの推奨事項:「php array (Array)



以上がPHP で配列内の指定された要素をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。