Re: [PHP-DB] Im seeking a solution to check for duplicate entries with an other sequence

2010-01-12 Thread Richard Quadling
2010/1/11 Richard Quadling rquadl...@googlemail.com:
 2010/1/11 omar zorgui omarzor...@gmail.com:
 $sentences[] = this is a example sentence;
 $sentences[] = a this is example sentence;
 $sentences[] = example this is a sentence;
 $sentences[] = this is a example sentence for a function;


 ?php
 // Define data.
 $Sentences = array
        (
        this is a example sentence,
        a this is example sentence,
        example this is a sentence,
        this is a example sentence for a function,
        );

 // Record hashes of the sorted words in each sentence.
 $Hashes = array();
 $Reduced = array_filter
        (
        $Sentences,
        function($Sentence)
                use($Hashes)
                {
                // Explode the sentence into words but forced to lower case.
                $Words = explode(' ', strtolower($Sentence));

                // Sort the words
                sort($Words);

                // If the hash of the serialized words array is not already 
 known
                if (!in_array($Hash = md5(serialize($Words)), $Hashes))
                        {
                        // then add it and return true.
                        $Hashes[] = $Hash;
                        return True;
                        }
                else
                        {
                        // else return false to filter out this sentence.
                        return False;
                        }
                }
        );

 // Show the reduced sentences.
 print_r($Reduced);
 ?


 outputs ...

 Array
 (
    [0] = this is a example sentence
    [3] = this is a example sentence for a function
 )



 --
 -
 Richard Quadling
 Standing on the shoulders of some very clever giants!
 EE : http://www.experts-exchange.com/M_248814.html
 Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731
 ZOPA : http://uk.zopa.com/member/RQuadling


Is that what you wanted?

-- 
-
Richard Quadling
Standing on the shoulders of some very clever giants!
EE : http://www.experts-exchange.com/M_248814.html
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling


[PHP-DB] Im seeking a solution to check for duplicate entries with an other sequence

2010-01-11 Thread omar zorgui
Hello,

I have a question currently i'm programming a function to remove duplicates
from an array of sentences.
The computer must classify sentences with exactly the same words in it, but
with a different sequence as a duplicate.

The array that i use as a feed is as following:
$sentences[] = this is a example sentence;
$sentences[] = a this is example sentence;
$sentences[] = example this is a sentence;
$sentences[] = this is a example sentence for a function;

I want the computer to keep only two records of the sentence array in this
case (0|1|2) and 3

I made the script as following:

function($sentences) {

foreach($sentences as $sentence) {
$words = explode( ,$sentence);
$sentenceArray[] = $words;
}

foreach(sentenceArray as $sentence) {
// Here i want the same words are in other sentences
}

}

My question is how could i check the $sentence array if there are records in
it with exactly the same words
as my feed?


Re: [PHP-DB] Im seeking a solution to check for duplicate entries with an other sequence

2010-01-11 Thread Richard Quadling
2010/1/11 omar zorgui omarzor...@gmail.com:
 $sentences[] = this is a example sentence;
 $sentences[] = a this is example sentence;
 $sentences[] = example this is a sentence;
 $sentences[] = this is a example sentence for a function;


?php
// Define data.
$Sentences = array
(
this is a example sentence,
a this is example sentence,
example this is a sentence,
this is a example sentence for a function,
);

// Record hashes of the sorted words in each sentence.
$Hashes = array();
$Reduced = array_filter
(
$Sentences,
function($Sentence)
use($Hashes)
{
// Explode the sentence into words but forced to lower case.
$Words = explode(' ', strtolower($Sentence));

// Sort the words
sort($Words);

// If the hash of the serialized words array is not already 
known
if (!in_array($Hash = md5(serialize($Words)), $Hashes))
{
// then add it and return true.
$Hashes[] = $Hash;
return True;
}
else
{
// else return false to filter out this sentence.
return False;
}
}
);

// Show the reduced sentences.
print_r($Reduced);
?


outputs ...

Array
(
[0] = this is a example sentence
[3] = this is a example sentence for a function
)



-- 
-
Richard Quadling
Standing on the shoulders of some very clever giants!
EE : http://www.experts-exchange.com/M_248814.html
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php