It is currently Wed Feb 08, 2012 6:02 pm

All times are UTC + 2 hours [ DST ]




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: array filter
PostPosted: Tue Nov 24, 2009 5:42 pm 
Offline

Joined: Thu Jun 17, 2004 6:10 am
Posts: 17
Hi,

I was trying to set the same digits that are not side by side, won't be displayed in the output.. how can I edit the script below to accomplish the following ?

For instance for
e.g :
AABC (4 digits number),
it will show only something like 1123, 3122 and not display output like 2129, 1091. Remove those with 2 counts but not side by side.

e.g :
AAAB (3 digits number)
will show 1112, 2333, 7999 from the script below but not 2322, 1121

Please advise. Thank you.

Code:
<?php
    for($i = 0; $i < 10000; $i++){
   $formattedi = str_split(str_pad($i,4,'0',STR_PAD_LEFT));
   $count = array_count_values($formattedi);
   $min = min($count);
   $max = max($count);
   if($max == 1) $group = 'all different numbers';
   if($max == 2 and $min == 2) $group = 'same numbers in pair';
   if ($max == 3) $group = '3 same numbers';
   if ($max == 2 and $min ==1) $group = '2 same numbers only';
   if($max == 4) $group = '4 same numbers';
   $out[$group][] = implode('', $formattedi);
}
echo '<pre>', print_r($out), '</pre>';
?>




Thank you


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC + 2 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron