7.9 查询数组中指定元素
视频讲解:光盘TMlx709 查询数组中指定元素.mp4
array_search()函数用于在数组中搜索给定的值,找到后返回键名,否则返回false。在PHP 4.2.0之前,函数在失败时返回null而不是false。
语法格式如下:
mixed array search ( mixed needle, array haystack [, bool strict])
其中,needle指定在数组中搜索的值;haystack指定被搜索的数组;strict为可选参数,如果值为true,还将在数组中检查给定值的类型。
【例7.12】本例综合应用数组函数实现更新数组中元素的值,实例代码如下:(实例位置:光盘TMsl712)
<?php $name = "智能机器人@数码相机@天翼3G手机@瑞士手表"; //定义字符串 $price ="14998@2588@2666@66698"; $counts = "1@2@3@4"; $arrayid=explode("@", $name); //将商品ID的字符串转换到数组中 $arraynum=explode("@", $price); //将商品价格的字符串转换到数组中 $arraycount=explode("@", $counts); //将商品数量的字符串转换到数组中 if(isset($_POST['Submit']) && $_POST['Submit']==true){ $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"align="center"bgcolor="#FFFFFF" class="STYLE1">商品名称</td> <td width="145"align="center"bgcolor="#FFFFFF" class="STYLE1">价格</td> <td width="145"align="center"bgcolor="#FFFFFF" class="STYLE1">数量</td> <td width="145"align="center"bgcolor="#FFFFFF" class="STYLE1">金额</td> </tr> <?php for($i=0; $i<count($arrayid); $i++){ //for循环读取数组中的数据 ?> <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>
在本例中,实现对数组中存储的商品数量进行修改,其运行结果如图7.4所示。
图7.4 更新数组中元素的值
说明
array_search()函数最常见的应用是购物车,实现对购物车中指定的商品数量的修改和删除。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。