Member Avatar for michael123

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.

Member Avatar for michael123

Can anyone answer this question? thanks.

Member Avatar for fsn812

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.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.


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"
}

Member Avatar for digital-ether

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.

// 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;

Quite useful by the way... thanks :cheesy:

Member Avatar for fsn812

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).

Member Avatar for scandalouskk

how to display a string in php without using echo command??
plz do reply me

Member Avatar for ShawnCplus

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.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.