您好我有下面的代碼結構比較兩個數組,並導致匹配的一個
$gender = array('girl','boy','men','women');
$content = array('Fastrack men watch');
我想搜索性別的內容,並返回的特定性別如下圖所示
$result='men'
它shuld在內容列表中搜索如果有任何性別匹配,則應返回該性別名稱
提前致謝
您好我有下面的代碼結構比較兩個數組,並導致匹配的一個
$gender = array('girl','boy','men','women');
$content = array('Fastrack men watch');
我想搜索性別的內容,並返回的特定性別如下圖所示
$result='men'
它shuld在內容列表中搜索如果有任何性別匹配,則應返回該性別名稱
提前致謝
$gender = array('girl','boy','men','women');
$content = array('Fastrack men watch');
$data= explode(" ",$content[0]);
$result = array_intersect($gender, $data);
這樣,我找到確切的結果 感謝您的指導
$gender = array('girl','boy','men','women');
$content = array('Fastrack men watch');
$ret=array();
foreach($gender as $val){
$pos = strpos($content[0], $val);
if($pos!=false){
$ret[]=$val;
}
}
echo "The gender found ".implode(',',$ret);
謝謝這也適用於完美,但我使用differen方法,因爲我已經發布了答案 –
$gender_array = array('girl','boy','men','women');
$content = 'Fastrack women watch girl';
$content_array = explode(" ",$content);
$result ="";
foreach ($gender_array as $gender) {
if(in_array($gender, $content_array)){
$result = $result.",".$gender;
}
}
echo $result = trim($result, ',');
這說明兩性性別爲一個或多個太.. 如:$內容=「的Fastrack婦女女孩男孩的手錶「; 作爲女孩,男孩,女性的結果
您可以使用array_intersect()
來執行您需要的操作。
array_intersect()
- 計算數組的交集
array_intersect()
返回包含存在於所有的參數的ARRAY1的所有值的數組。請注意,鍵被保留。
array_intersect()
函數比較兩個(或更多)數組的值,並返回匹配項。
此函數比較兩個或多個陣列的值,並返回包含從ARRAY1存在於數組2,ARRAY3條目的陣列,等等
返回值:返回包含一個數組來自
array1
的條目存在於所有其他陣列中。
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_intersect($a1,$a2);
print_r($result);
?>
輸出:
Array ([a] => red [b] => green [c] => blue)
注:兩個因素被認爲是平等的,當且僅當(字符串)$ elem1 ===(字符串)$ elem2時。用詞表示:當字符串表示是相同的。
只要用'foreach'和'strpos'加上'if',什麼阻止你從它做起呢? – Ghost
strpos返回計數,但我想要匹配的單詞。 @Ghost –
@AmiteshKumar $ gender數組包含許多不同的字符串,其中$ content數組只包含一個字符串 –