$str = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";$reg = "饭煲";
$reg1 = "不复";
$reg2 = "当年";
$sp = explode('|', $str);
$inArr = array();
foreach ($sp as $key => $value) {
if(strpos($value,$reg) !== FALSE && strpos($value,$reg1) !== FALSE && strpos($value,$reg2) !== FALSE){
array_push($inArr, $value);
}
}
var_dump($inArr);
$reg1 = "不复";
$reg2 = "当年";
$sp = explode('|', $str);
$inArr = array();
foreach ($sp as $key => $value) {
if(strpos($value,$reg) !== FALSE && strpos($value,$reg1) !== FALSE && strpos($value,$reg2) !== FALSE){
array_push($inArr, $value);
}
}
var_dump($inArr);
这个和正则比起来哪个效率高?? 如果数组量有1W个?文本正则
print_r($r[1]);Array
(
[0] => 电饭煲海不复当年许多下挫
[1] => 不复电线饭煲杆分别当年
[2] => 苏当年丹公司订不复购饭煲
)
$s = "111<第一饭煲>|9<电饭煲海不复当年许多下挫>|2212<德国的花>|1321<不复电线饭煲杆分别当年>424|<苏当年丹公司订不复购饭煲>5|<sis阿不复司法>";$a = explode('|', $s);
$d = array("饭煲", "不复", "当年");foreach($d as $c) $a = preg_grep("/$c/", $a);
print_r($a);Array
(
[1] => 9<电饭煲海不复当年许多下挫>
[3] => 1321<不复电线饭煲杆分别当年>424
[4] => <苏当年丹公司订不复购饭煲>5
)