老板说:
我只要在文本框填1|3 ,那第1和第3个商品都要标注!
思考过程:
有了重要信息1和3,而循环商品时$key按顺序自动递增,那么只要key和信息匹配的话,就判断商品添加标注,这个可以把位置信息做成位置数组,通过in_array判断$key这个位置在不在位置数组里,(实际中我们从1开始,而循环中从0开始,所以匹配时需要在$key上加1)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .box{border:1px solid #000;text-align:center;200px;height:200px;float:left;margin:10px;line-height:200px;} </style> </head> <body> <?php //位置文本 $str="1|3"; //通过|分割得出位置数组 $markarr=$str? explode("|",$str):""; //商品组 $arr=array( array("name"=>"productOne","price"=>10), array("name"=>"productTwo","price"=>20), array("name"=>"productThree","price"=>30), array("name"=>"productFour","price"=>40) ); //循环商品 foreach($arr as $key =>$item){ echo '<div class="box">'; if(in_array($key+1,$markarr)){ echo "此商品带标注"; } echo '</div>'; } ?> </body> </html>