Matematica informatica - insiemi ed array: cardinalità e unione di insieme

Continuiamo il nostro piccolo corso di matematica applicata all'informatica,
ovvero ripercorriamo i passi dell'algebra passando però dalle esigenze pratiche che l'informatica spesso ci chiede.



Andiamo avanti con lo studio degli INSIEMI.

Linkiamo qui i principi base dello studio degli insiemi:
https://it.wikipedia.org/wiki/Teoria_degli_insiemi



1. CARDINALITA'


indicata con i simboli {\displaystyle \left\vert A\right\vert }, {\displaystyle \#(A)} oppure {\displaystyle \operatorname {card} (A)}

https://it.wikipedia.org/wiki/Cardinalit%C3%A0

Indica in sostanza quanti elementi appartengono all'insieme.


L'esempio più classico è il seguente:

A = {a, e, i, o, u}

car(A) = 5

Ovvero, le vocali, comprese nell'insieme A, sono 5
la cardinalità dell'insieme card(A) = è 5



Lavorando con gli array, è un comando molto semplice da ottenere:


count($array) 

http://www.php.net/count

$food = array('fruits','orange', 'banana', 'apple');

// normal count
echo count($food); // output 4


CONTEGGIO RICORSIVO

Si può anche effettuare un conteggio ricorsivo (ovvero conteggia anche gli elementi negli gli array multidimensionali)  :
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// recursive count
echo count($food, COUNT_RECURSIVE); // output 8

// normal count
echo count($food); // output 2



2. UNIONE DI INSIEMI


https://it.wikipedia.org/wiki/Unione_(insiemistica)

unione (simbolo \cup )


Ad esempio 

A={1,2,3}
B={2,3,4}

si ottiene l'unione prendendo (UNA SOLA VOLTA) gli elementi che appartengono ad almeno uno dei due insiemi:

A \cup B={1,2,3,4}



array_merge()


Come prima cosa uniamo i due array - insiemi:


$array1 = array('1','2','3','4','5','6'); 
$array2 = array('11','2','13','4','15','6','5','1'); 

$result1 = array_merge($array1, $array2);
print_r($result1);


A questo punto tuttavia il risultato è il seguente:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 11 [7] => 2 [8] => 13 [9] => 4 [10] => 15 [11] => 6 [12] => 5 [13] => 1 ) 

Ovvero gli elementi sono duplicati e non presi una volta soltanto. Dobbiamo eliminare i duplicati.


array_unique()

Ci viene incontro allo scopo array_unique()


$array1 = array('1','2','3','4','5','6'); 
$array2 = array('11','2','13','4','15','6','5','1'); 
$result2 = array_unique($result1);
print_r($result2);
Che produce il risultato:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 11 [8] => 13 [10] => 15 ) 

Dove gli elementi sono stati presi una volta solamente.