 |
ช่วยด้วยครับ วิธีการหา คำใน Array $find ไปค้นหาใน $arr โดยนับเฉพาะตัวที่มีใน $find เท่านั้น |
|
 |
|
|
 |
 |
|
ตัวอย่างเช่น
กรณีที่ 1
Code (PHP)
$arr = array("1,2,6,3,5,9","6,2,5,9","5,1,2,6");
$find = "6,1,2,5";
ผลลัพธ์คือ
2
กรณีที่ 2
Code (PHP)
$arr = array("1,2,6,3,5,9","6,2,5,9","1,2,6");
$find = "6,7,3";
ผลลัพธ์คือ
0
*หมายเหตุ: ให้ $find ไปค้นหาใน $arr โดยนับเฉพาะตัวที่มีใน $find เท่านั้น (มาก่อนหรือมาทีหลัง ไม่สำคัญ)
ขอขอบคุณท่านจอมยุทธ์ล่วงหน้าครับ
Tag : - - - -
|
|
 |
 |
 |
 |
Date :
2010-02-01 04:01:14 |
By :
DarkEvil |
View :
1986 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$arr = array("1,2,6,3,5,9","6,2,5,9","5,1,2,6");
$find = "6,1,2,5";
$obj =new search_match;
$obj->search($arr,$find);
$nums = $obj->get_count();
$m=$obj->get_array();
#แสดงผล
echo "ค้นหา $find จาก ";
print_r($arr);
echo "<br>จำนวนที่พบ $nums จำนวน คือ ";
print_r($m);
search_match (OOP)
class search_match{
static $count=0;
static $match_array=array();
public function search($array,$find){
$spt =preg_split('/,/',$find);
for($i=0;$i<count($array);$i++){
if(self::toMatch($array[$i],$spt)){
self::$match_array[self::$count]=$array[$i];
self::$count++;
}
}
}
public function get_count(){
return self::$count;
}
public function get_array(){
return self::$match_array;
}
public static function toMatch($subject,$find){
for($j=0;$j<count($find);$j++){
$regex="/".$find[$j]."/";
if(!preg_match($regex,$subject)){
return false;
}
}
return true;
}
}
|
 |
 |
 |
 |
Date :
2010-02-01 08:41:53 |
By :
xbeginner01 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณท่าน xbeginner01 อีกนะครับ น้ำใจงาม +1 อิอิ
|
 |
 |
 |
 |
Date :
2010-02-01 09:48:42 |
By :
DarkEvil |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|