Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql > Funzioni di PHP
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 18-01-08, 12:15   #1 (permalink)
Moderatore
 
L'avatar di ceccus
 
Data di registrazione: Oct 2006
Messaggi: 913
[Array] array_diff()

Sintassi: array_diff ( array $array_input1, array $array_input2 [,array $array_input3 ...] )

array_diff confronta i valori di $array_input1 con quelli di $array_input2 restituendo un terzo array contentente tutti i valori del primo non presenti nel secondo, lasciando inalterate le chiavi. Eventualmente il confronto può essere esteso ad altri array.

Codice PHP:
$array_input1 = array("pippo""pluto""topolino");
$array_input2 = array("pippo""pluto");
$array_output array_diff($array_input1$array_input2);
 
print_r($array_output); //restituisce:
Array
(
    [
2] => topolino



Codice PHP:
$array_input1 = array("pippo""pluto");
$array_input2 = array("pippo""pluto""topolino");
$array_output array_diff($array_input1$array_input2);
 
print_r($array_output); //restituisce:
Array
(

Il secondo esempio non restituisce nulla perché tutti gli elementi di $array_input1 sono presenti in $array_input2.

Interessante notare che se un elemento è presente più volte in $array_input1 e una sola volta in $array_input2

Codice PHP:
$array_input1 = array("pippo""pluto""pippo""pippo""pippo");
$array_input2 = array("pippo""pluto");
$array_output array_diff($array_input1$array_input2);
 
print_r($array_output); //restituisce:
Array
(

la funzione non restituisce nulla: infatti tutti i valori di $array_input1 sono presenti in $array_input2. Con le medesime considerazioni è possibile capire che anche l'ordine degli elementi di un array non comporta differenze:

Codice PHP:
$array_input1 = array("pippo""pluto");
$array_input2 = array("pluto""pippo");
$array_output array_diff($array_input1$array_input2);
 
print_r($array_output); //restituisce:
Array
(

Può essere utile evidenziare con un esempio che le chiavi non entrano nel confronto e vengono restituite inalterate:

Codice PHP:
$array_input1 = array('a' => "pippo"'b' => "pluto"'c' => "topolino");
$array_input2 = array('d' => "pluto"'e' => "pippo");
$array_output array_diff($array_input1$array_input2);
 
print_r($array_output); //restituisce:
Array
(
    [
c] => topolino

Conviene infine mostrare per chiarezza un esempio in cui il confronto viene esteso ad altri array, restituendo solo i valori del primo array non contenuti negli array successivi:

Codice PHP:
$array_input1 = array("pippo""pluto""topolino""paperino""paperone");
$array_input2 = array("pippo""pluto");
$array_input3 = array("topolino");
$array_input4 = array("paperino");
$array_output array_diff($array_input1$array_input2$array_input3$array_input4);
 
 
print_r($array_output); //restituisce:
Array
(
    [
4] => paperone
 

__________________


Ultima modifica di ceccus : 21-01-08 11:53.
ceccus non in linea   Rispondi citando
Rispondi
Tags: , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 10:12.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.