Eliminare i duplicati

zerobit

Utente Attivo
10 Mar 2012
35
0
0
Salve ragazzi , avete presente uno di quei problemi tipo colla sotto i
piedi ?

Per farla breve dovrei eliminare tutte le voci doppie dai dati che arrivano
tramite un form



Ecco un esempio :

mercedes
punto
panda
panda
panda
croma
tempra
tempra
tempra
tempra
regata



Esiste un modo per eliminare i termini uguali in modo da ottenere poi
questo risultato ? :

mercedes
punto
panda
croma
tempra
regata



Potrei usare qualcosa del genere , ma non so quali voci doppie si presenteranno ! :crying:


PHP:
<?php


$au=array('panda','tempra','panda');

$newArray=array_unique($au);

foreach($newArray as $strItem){
   echo $strItem.'
';
}


?>










.
 

zerobit

Utente Attivo
10 Mar 2012
35
0
0
Come disse quello che si impiccò per i piedi , non è questo il verso giusto


Forse ci vedo sfuocato a causa del caldo ma così non mostra a video nessun risultato !


PHP:
$data = explode("\n", $_POST['nometextarea']);
$data = array_unique($data);
$data = implode("\n", $data); 

echo "data";


Grazie intanto per l'interesse mostrato
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Prova a mettere uno spazio al posto di \n

PHP:
<?php
$_POST['nometextarea'] = "panda punto panda punto croma punto croma panda";

$data = explode(" ", $_POST['nometextarea']);
$data = array_unique($data);
$data = implode(" ", $data); 

echo $data;
?>

In ogni caso doveva stamparti qualcosa anche con \n

PS:
hai scritto echo "data"; invece che echo $data;
 
Ultima modifica:

zerobit

Utente Attivo
10 Mar 2012
35
0
0
GRAZIE criric

Non ci vedevo più dalla fame e ho perso qualche virgola , in effetti ai ragione il codice di Alessandro funziona se invece del ritorno a capo \n metto uno spazio vuoto , ma a condizione che il testo non sia incolonnato

Così funziona :

mercedes punto panda panda panda croma tempra tempra tempra tempra
regata

Così non funge :


mercedes
punto
panda
panda
panda
croma
tempra
tempra
tempra
tempra
regata


Purtroppo però deve funzionare anche con l'incolonnamento , qualche idea ?


Ciao ! :byebye:




.
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Prova così:
PHP:
<?php
$_POST['nometextarea'] = "panda punto panda punto croma punto croma panda";

if (strlen($_POST['nometextarea'], "\n") !== 0) {
    $char = "\n";
} else {
    $char = ' ';
}

$data = explode($char, $_POST['nometextarea']);
$data = array_unique($data);
$data = implode($char, $data); 

echo $data;
?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Credo che Alessandro volesse scrivere strpos() non strlen()

Ho notato però che se i dati sono separati alcuni con lo spazio e alcuni con il ritorno a capo l'array_unique nonfunziona a dovere

allora ho pensato che si pèotrebbe trasformare i ritorni in spazi
PHP:
$data = str_replace(array("\n", "\r"), " ", $_POST['nometextarea']);
$data = str_replace(array("  "), " ", $data);

$data = explode(" ", $data);
$data = array_unique($data);
$data = implode(" ", $data);

dipende comunque da come ti arriva la stringa
 

zerobit

Utente Attivo
10 Mar 2012
35
0
0
Purtroppo mi ritrovo con un Wrong parameter count for strlen() su questa riga if (strlen($_POST['chiave'], "\n") !== 0) {


Comunque panda punto panda punto croma punto croma panda a me non serve perchè non posso sapere a priori quali saranno le voci duplicate

PHP:
$_POST['nometextarea'] = "panda punto panda punto croma punto croma panda";


Il primo codice che hai postato è funzionante praticamente adesso basterebbe tirare su il testo incollonato eliminando gli spazi ( come nell'esempio che ho postato ) , stavo provando infatti a usare trim ma ancora non sono riuscito nell'intento


Ciao e ancora grazie





.
 

zerobit

Utente Attivo
10 Mar 2012
35
0
0
Fantastico Criric hai avuto un'ottima idea !

Finalmente sembra che così il problema sia stato risolto :fonzie:

Adesso non mi rimane che rimettere insieme il tutto e ritestare il codice

Ringrazio per i suggerimenti e per l'ottimo aiuto che ho ricevuto :elvis:

Un salutone anche ad Alessandro






.
 
Discussioni simili
Autore Titolo Forum Risposte Data
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale PHP 1
S Eliminare duplicati all'interno di un array PHP 6
S [VB 17]: Eliminare doppioni in listbox Visual Basic 1
spider81man Eliminare primo ed ultimo carattere di una colonna MySQL 0
G Eliminare l'effetto refresh di una pagina internet PHP 8
M eliminare padding logo sito HTML e CSS 2
A eliminare caratteri speciali mettendo uno spazio PHP 0
A eliminare caratteri diacritici con codice ascii PHP 4
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
L Eliminare estensione .html HTML e CSS 9
L [RISOLTO] Eliminare una discussione creata PHP 3
S Eliminare spazio iniziale PHP 2
S [PHP] Eliminare doppioni array e rinumerare le posizioni PHP 2
maxnegri Eliminare url index.php con variabili e reindirizzare alla home del sito PHP 7
D [ASP] Eliminare gli zeri che nn servono Classic ASP 1
K Come eliminare attributi regex per validazione con javascript Javascript 0
P [HTML] Eliminare doppio menu in wordpress WordPress 2
P [WordPress] Eliminare scritta Categories da post WordPress 4
C [PHP] eliminare elemento da un array multidimensionale PHP 9
L Mi trovo nell'impossibilità di eliminare un record nella tabella Database 1
A [WordPress] Eliminare riga codice HTML WordPress 6
loois come eliminare una discussione fata in questo forum ? Discussioni Varie 1
trattorino [PHP] Eliminare piu frasi PHP 1
L [HTML] versione mobile eliminare stile menu da nav HTML e CSS 0
T Come eliminare canonical url da blogger SEO e Posizionamento 0
dany81 [Photoshop] Eliminare più sfondo possibile... Photoshop 3
Monital [PHP] Eliminare la Barra di caricamento file alla fine dell'esecuzione PHP 11
asevenx [PHP] Eliminare record automaticamente dopo una certa data PHP 12
L Eliminare suono da iframe HTML e CSS 3
G Eliminare scrollbar laterale di visuallightbox jQuery 0
H Eliminare div creato da javascript Javascript 1
9 eliminare righe di una tabella con form html PHP 6
M Eliminare un cookie PHP 1
elpirata Eliminare dati selezionati da una form di select PHP 6
Marco_88 Eliminare una colonna da una LEFT JOIN MySQL 4
A come eliminare i suggerimenti della barra degli indirizzi su google chrome? Windows e Software 3
M Eliminare immagini da directory / *dal database fatto! PHP 2
K eliminare il carriage return Javascript 4
S Problema nell'eliminare un'immagine PHP 2
felino Eliminare stringa compresa tra due tags PHP 4
Creatt Eliminare macchine in centos Linux e Software 2
filippino Eliminare lo sfondo di una foto Photoshop 1
D [VB.NET] Eliminare Cartella e sottocartelle TRAMITE FTP .NET Framework 1
D Eliminare voce da campo db Classic ASP 5
filippino Eliminare le barre scorrimento HTML e CSS 1
A come eliminare Awesomehp Sicurezza e Virus 1
L eliminare un prodotto dal carrello tramite l'id della sessione PHP 1
felino Array: eliminare gli elementi che soddisfano una condizione PHP 5
A Eliminare bordo blu al click di un'immagine mappata HTML e CSS 3

Discussioni simili