2011-06-18 18 views
0

この質問は私の以前の質問の1つにFrancois Deschenes's answerに関するものです。similar_textをarray_uintersectに適用するにはどうすればよいですか?

array_uintersect機能にテキスト類似性チェック機能を適用する方法が不明です。ここで

は私の関数は(改善のアイデアのためのオープン)です:

function checkSimilar($str1, $str2){ 
    similar_text($str1, $str2, $percent); 
    if($percent > 75){ 
     return $str2; 
    } 
    else{ 
     return null; 
    } 
} 
+0

あなたは割合を一致させることにより配列をソートしたいですか?これは 'array_unintersect'とは何の関係もありません。 – Halcyon

+0

@Frits van Campen この質問は、この質問の先頭にリンクした別の質問に基づいています。他のリンクをお読みください。私たちはarray_uintersectを使いました...私はsimilar_text()を使用して関数を作成し、array_uintersect行の関数を置き換えるように指示されました。しかし、動作していないようです。 : - \ –

+0

しかし、私の自己をもう一度説明するために、私は2つの配列を持っています。ユーザーが曲のタイトルを入力し、曲のタイトル(ソースに表示される方法)が外部ソースを参照しました。私は、ユーザが入力した曲のタイトルの順番で、外部ソースで検索された曲のタイトルを並べ替える必要があります。一方の配列を他方の配列の順にソートするだけです。 –

答えて

1

まあ、これは私が私にはわからない、と言っていますが、あなたが持っている理由私は理解していないどのような愚かなことかもしれませんそのようなキーを持つ配列(あなたの他の投稿に示されている値)。本当にあなたがやろうとしているか確認してください、私はちょうどあなたが多分2次元(単なる推測ではなく、確か)との唯一の配列が必要な推測を行っていない:

<?php 

$song[]=array('title'=>'boing', 'singer'=>'john smith', 'year'=>'1949'); 
$song[]=array('title'=>'Don\'t Trust me', 'singer'=>'3oh!3', 'year'=>'1929'); 
$song[]=array('title'=>'You Belong with me', 'singer'=>'Taylor Swift', 'year'=>'1981'); 
$song[]=array('title'=>'You Belong to earth', 'singer'=>'Taylor Swift', 'year'=>'1991'); 
$song[]=array('title'=>'You Do Belong Everywhere', 'singer'=>'Taylor Swift', 'year'=>'1971'); 
$song[]=array('title'=>'Fire Burning', 'singer'=>'Sean Kingston', 'year'=>'2010'); 
$song[]=array('title'=>'Love Your Enemy', 'singer'=>'Green Day', 'year'=>'1997'); 
$song[]=array('title'=>'Gone', 'singer'=>'Kelly Clarkson', 'year'=>'1956'); 
$song[]=array('title'=>'Know Your Enemy', 'singer'=>'Green Day', 'year'=>'1997'); 
$song[]=array('title'=>'Gone long away', 'singer'=>'Kelly Clarkson', 'year'=>'1976'); 

$find='belong me'; 
$accepted=15; 
$tmp=array(); 

foreach($song as $key => $value) 
{ 
    similar_text(strtoupper($value['title']), strtoupper($find), $p); 
    if($p>=$accepted) 
    $tmp[$p][] = 'title: '.$value['title'].' | rate: '.round($p,2).'%<br>'; 
} 
krsort($tmp); 

    echo 'THIS IS YOUR SEARCH RESULT FOR \'',$find,'\':<br>'; 
    echo '_____________________________________________________<br>'; 
    foreach($tmp as $key => $percentage) 
    foreach($percentage as $value) 
     echo $value ; 

?> 
+0

時間をとっていただきありがとうございますが、私が達成しようとしていることに対してこのコードをどのように適用するかはわかりません。私はこの回答の上に「@Frits van Campen」のコメントを書いた。私が必要とするものをさらに探すためにそれを読んでください。 –

関連する問題