How to display unique string variables?
Is there a function in php to remove the duplicate string variables, for example there is "abcd,ab,cd,abc,abc", how to change it to "abcd,ab,cd,abc"?thanks.
michael123
Junior Poster in Training
94 posts since Jun 2005
Reputation Points: 10
Solved Threads: 0
Can anyone answer this question? thanks.
michael123
Junior Poster in Training
94 posts since Jun 2005
Reputation Points: 10
Solved Threads: 0
Straight from PHP.net regarding array_unique :
array_unique
(PHP 4 >= 4.0.1, PHP 5)
array_unique -- Removes duplicate values from an array
Description
array array_unique ( array array )
array_unique() takes input array and returns a new array without duplicate values.
Note that keys are preserved. array_unique() sorts the values treated as string at first, then will keep the first key encountered for every value, and ignore all following keys. It does not mean that the key of the first related value from the unsorted array will be kept.[indent]Note: Two elements are considered equal if and only if (string) $elem1 === (string) $elem2. In words: when the string representation is the same.
The first element will be used.
[/indent]
Example 1. array_unique() example
<?php
$input = array("a" => "green", "red", "b" => "green", "blue", "red");
$result = array_unique($input);
print_r($result);
?>
The above example will output:
Array
(
[a] => green
[0] => red
[1] => blue
)
Example 2. array_unique() and types
<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>
The above example will output:
array(2) {
[0] => int(4)
[2] => string(1) "3"
}
fsn812
Junior Poster in Training
93 posts since Jan 2004
Reputation Points: 41
Solved Threads: 2
Is there a function in php to remove the duplicate string variables, for example there is "abcd,ab,cd,abc,abc", how to change it to "abcd,ab,cd,abc"?thanks.
To make it a bit clearer, heres the custom function.
[PHP]// removes duplicate substrings between the seperator
function uniqueStrs($seperator, $str) {
// convert string to an array using ',' as the seperator
$str_arr = explode($seperator, $str);
// remove duplicate array values
$result = array_unique($str_arr);
// convert array back to string, using ',' to glue it back
$unique_str = implode(',', $result);
// return the unique string
return $unique_str;
}
// example use
// input string
$str = "abcd,ab,cd,abc,abc";
// seperator
$seperator = ',';
// use the function to save a unique string
$new_str = uniqueStrs($seperator, $str);
// display it
echo $new_str;[/PHP]
Quite useful by the way... thanks :cheesy:
digital-ether
Nearly a Posting Virtuoso
1,293 posts since Sep 2005
Reputation Points: 461
Solved Threads: 101
This is turning out to be a good thread, I have found a need for this myself within the past few days. Thanks for the example :)
Now if I could only use array_unique on the 100 degree days we have been having here in Austin (grrr).
fsn812
Junior Poster in Training
93 posts since Jan 2004
Reputation Points: 41
Solved Threads: 2
how to display a string in php without using echo command??
plz do reply me
Make your own thread, don't revive 4 YEAR OLD THREADS.
ShawnCplus
Code Monkey
1,583 posts since Apr 2005
Reputation Points: 526
Solved Threads: 268