Eliminare valori array

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Salve ragazzi, ho un'array che contiene tot valori, ora vorrei controllare se nei valori dell'array è contenuto il valore che corrisponde al valore di una variabile, se si bisogna eliminare tutti i valori tranne uno, in modo che non inserisce nel database lo stesso valore piu volte, cioè cerco di spiegarmi meglio:

$array = array(1,2,3,1,1);

ora vorrei controllare se nell'array è contenuto un valore che corrisponde a questa variabile $num che è uguale a 1.

Se corrisponde vorrei eliminare i valori superflui, cioè facendo diventare l'array in questo modo:

$array = array(1,2,3);


E' possibile?

Grazie
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
PHP:
<?php
$array = array(1,2,3,1,1);
$num = 1;
if (in_array($num, $array)) {
    $result = array_unique($array);
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
però array_unique non dovrebbe funziare ance se ho un array del tipo

$a=array('1','1','2','3','3');

riducendola a

'1','2','3' solamente?

il tuo sistema funzia se so a priori quale è il valore duplicato
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
L'obiezione è corretta Borgo, ma Intimoviro chiedeva il sistema per eliminare i doppioni di uno specifico valore associato ad una variabile.
 

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
SALVE RAGAZZI, VI POSTO PROPRIO IL CODICE:

PHP:
$q = "SELECT * FROM products_options_values WHERE products_options_values_name = '".$_POST['Variante1']."' && products_options_values_name = '".$_POST['Variante2']."'";
$s = mysql_query($q) or die (mysql_error());
while ($row = mysql_fetch_array($s)){
      $variante[] = $row['products_options_values_name'];
}
$array1 = explode("," ,$_POST['TipoVariante1']); 

$array2 = explode("," ,$_POST['Variante1']); 
$array = array_merge($array1, $array2);

$array = $array;
 $var2=count($array); 
$res = false;

for($i=0;$i<$var2;$i++)
{
if ($array[$i]==$variante[$i])
    {
$res1=true;
    }
} 
if($res1 == false)
{

$q = "SELECT * FROM products_options WHERE products_options_name = '".$_POST['TipoVariante1']."'";
$s = mysql_query($q);
while ($row = mysql_fetch_array($s)){
$vari = $row['products_options_id'];
}
//$vari1 preleva l'id delle varianti 
$vari1 = setstockvar($params['Variante1']);
$pid = $_POST['Model'];

$query = "INSERT INTO products_attributes (products_attributes_id, products_id, options_id, options_values_id, product_attribute_is_free, attributes_discounted, attributes_price_base_included) VALUES ('', '$pid', '$vari', '$vari1', '1', '1', '1')";
$insert = mysql_query($query);
   if(!$insert) die(mysql_error());

}

};

Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
il codice può abdare anche bene, ma quale è l'arrayi che vuoi "inicare"?

$array1 = explode("," ,$_POST['TipoVariante1']); //??
$array2 = explode("," ,$_POST['Variante1']); //??
$array = array_merge($array1, $array2); //??
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
mi sembrava chiaro, tu nel primo post chiedi

Salve ragazzi, ho un'array che contiene tot valori, ora vorrei controllare se nei valori dell'array è contenuto il valore che corrisponde al valore di una variabile, se si bisogna eliminare tutti i valori tranne uno, in modo che non inserisce nel database lo stesso valore piu volte, cioè cerco di spiegarmi meglio:

$array = array(1,2,3,1,1);

ora vorrei controllare se nell'array è contenuto un valore che corrisponde a questa variabile $num che è uguale a 1.

Se corrisponde vorrei eliminare i valori superflui, cioè facendo diventare l'array in questo modo:

$array = array(1,2,3);


E' possibile?

Grazie

poi invii uno script in cui ci sono tre array, mi pare logica la domanda di quale vuoi trattare
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
allora basta che tu faccia

PHP:
$array2 = explode("," ,$_POST['Variante1']);
$array2 = array_unique($array2);

per cui (ad es.) se $array2 che viene dal post contiene
'XL', 'M', 'ML', 'XL', 'XL', 'XM', 'L', 'L'
il suo contenuto diventa

'XL', 'M', 'ML', 'XM', 'L'

cioè togli tutti i valori duplicati
per abbreviare potresti anche provare a fare

PHP:
$array2=array_unique(explode(",",$_POST['Variante1']));
 
Discussioni simili
Autore Titolo Forum Risposte Data
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
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
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
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale 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
L Eliminare Tag in runtime... jQuery 1

Discussioni simili