PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
Moderator: General Moderators
rcmn
Forum Newbie
Posts: 21 Joined: Tue Jul 06, 2004 10:35 am
Post
by rcmn » Mon Aug 02, 2004 10:27 am
i want use array_unique but something is missing; the duplicates are still there.
Code: Select all
<?
$handle = fopen("wdt_list1.csv", "r");
while (!feof($handle)) {
$node_id = fscanf($handle, "%їW0-9] %їA-Za-z]\r\n"); //*find node id
if ($node_id) {
list ($serv_id) = $node_id;
$serv_id = substr($serv_id, 2, -2); { //*format to xxxx serv. format
$serv_tab = array($serv_id); //*creat tab
$serv_unk = array_unique ($serv_tab); //* del duplicate
print_r ($serv_unk);
}
}
$serv_id=NULL;
}
fclose($handle);
?>
i tried
Code: Select all
$serv_unk = array_unique ($serv_tab); //* del duplicate
print_r ($serv_unk);
after
but it gave me the last value of the array...
Last edited by
rcmn on Tue Aug 03, 2004 12:26 pm, edited 1 time in total.
Weirdan
Moderator
Posts: 5978 Joined: Mon Nov 03, 2003 6:13 pm
Location: Odessa, Ukraine
Post
by Weirdan » Mon Aug 02, 2004 10:54 am
can you show us the contents of wdt_list1.csv?
$serv_tab has only one element on each iteration, no wonder it remains the same after array_unique...
perhaps you want to gather all $serv_id's and than run array_unique on that collection, do you?
rcmn
Forum Newbie
Posts: 21 Joined: Tue Jul 06, 2004 10:35 am
Post
by rcmn » Mon Aug 02, 2004 1:42 pm
the out put of that page :
Code: Select all
<?
$handle = fopen("wdt_list1.csv", "r");
while (!feof($handle)) {
$node_id = fscanf($handle, "%їW0-9] %їA-Za-z]\r\n"); //*find node id
if ($node_id) {
list ($serv_id) = $node_id;
$serv_id = substr($serv_id, 2, -2); { //*format to xxxx serv. format
if (trim($serv_id) != "") //*supp space
echo "".$serv_id."<br>";
}
}
$serv_id=NULL;
}
fclose($handle);
?>
is that
9441
9441
9441
9441
9441
9441
9441
9431
9421
9421
9421
9421
9421
9421
9421
9411
9411
9322
8671
8661
8351
8301
8301
8281
7951
7571
7211
7101
7101
7091
6892
6892
6871
6662
6311
6252
5871
5871
5871
5871
5861
5831
5831
5641
5441
5363
5362
5362
5356
5344
5342
5335
5334
5328
5307
5306
4871
4821
4741
4741
4741
4731
4681
4425
4425
4425
4425
4414
4414
4414
4414
4414
4414
4414
4414
4414
4414
4414
4414
4411
4411
4362
4362
4362
4350
4350
4350
4317
etc........and more
Weirdan
Moderator
Posts: 5978 Joined: Mon Nov 03, 2003 6:13 pm
Location: Odessa, Ukraine
Post
by Weirdan » Mon Aug 02, 2004 2:00 pm
hmm.... maybe something like this:
Code: Select all
$handle = fopen("wdt_list1.csv", "r");
while (!feof($handle)) {
$node_id = fscanf($handle, "%[W0-9] %[A-Za-z]\r\n"); //*find node id
if ($node_id) {
list ($serv_id) = $node_id;
$serv_id = substr($serv_id, 2, -2); //*format to xxxx serv. format
$serv_tab[] = array($serv_id); //*creat tab
}
$serv_id=NULL;
}
fclose($handle);
$serv_unk = array_unique ($serv_tab); //* del duplicate
print_r ($serv_unk);
rcmn
Forum Newbie
Posts: 21 Joined: Tue Jul 06, 2004 10:35 am
Post
by rcmn » Mon Aug 02, 2004 3:26 pm
i get
Code: Select all
Array ( ї0] => Array ( ї0] => ) )
rcmn
Forum Newbie
Posts: 21 Joined: Tue Jul 06, 2004 10:35 am
Post
by rcmn » Tue Aug 03, 2004 12:25 pm
i solved it ,replacing $serv_tab[] = array($serv_id) by $serv_tab[] = $serv_id