|
|
 |
II. Funzioni di ArrayIntroduzione
Queste funzioni permettono di manipolare e interagire con gli
array in vari modi. Gli array sono indispensabili per immagazzinare,
mantenere e operare su gruppi di variabili.
Sono supportati sia array semplici che multi-dimensionali, che possono
essere sia creati dall'utente che da funzioni.
Ci sono specifiche funzioni di database per riempire
gli array a partire da interrogazioni sui dati, e parecchie funzioni restituiscono array.
Vedere la sezione Array
del manuale per una spiegazione dettagliata di come gli array siano
implementati ed usati in PHP.
Vedere anche
per altri modi di manipolazione degli array.
RequisitiNon sono necessarie librerie esterne per utilizzare questo modulo. InstallazioneNon è necessaria nessuna installazione per usare queste
funzioni, esse fanno parte del core di PHP. Configurazione di RuntimeQuesta estensione non definisce
alcuna direttiva di configurazione in php.ini Tipi di risorseQuesta estensione non definisce alcun tipo di risorsa. Costanti predefinite
Le costanti qui elencate sono sempre disponibili in quanto parte del core di PHP.
flag per l'ordinamento:
flag per il tipo di ordinamento: usati da varie funzioni di ordinamento
- SORT_REGULAR
(integer)
SORT_REGULAR è usata per comparare gli oggetti in modo normale.
- SORT_NUMERIC
(integer)
SORT_NUMERIC è usata per comparare gli oggetti in modo numerico.
- SORT_STRING
(integer)
SORT_STRING è usata per comparare gli oggetti come se fossero stringhe.
- Sommario
- array_change_key_case -- Restituisce un array con tutte le chiavi cambiate in maiuscolo o in minuscolo
- array_chunk -- Spezza un array in tronconi
- array_combine --
Crea un'array utilizzando un'array per le chiavi e un'altro per i suoi valori
- array_count_values -- Conta tutti i valori di un array
- array_diff_assoc -- Calcola la differenza tra due o più array con un ulteriore controllo sull'indice
- array_diff_uassoc -- Computes the difference of arrays with additional index check which is performed by a user supplied callback function.
- array_diff -- Calcola la differenza di due o più array
- array_fill -- Riempie un array con i valori specificati
- array_filter --
Filtra gli elementi di un array usando una funzione callback
- array_flip -- Scambia tutte le chiavi di un array con i loro valori associati
- array_intersect_assoc -- Calcola l'intersezione degli array con un ulteriore controllo sugli indici
- array_intersect -- Calcola l'intersezione degli arrays
- array_key_exists -- Controlla se l'indice (o chiave) specificato esiste nell'array
- array_keys -- Restituisce tutte le chiavi di un array
- array_map --
Applica la funzione callback a tutti gli elementi dell'array dato
- array_merge_recursive -- Fonde due o più array in modo ricorsivo
- array_merge -- Fonde due o più array
- array_multisort -- Ordina array multipli o multidimensionali
- array_pad --
Riempie con un valore un array fino alla lunghezza specificata
- array_pop -- Estrae l'elemento alla fine dell'array
- array_push --
Accoda uno o più elementi ad un array
- array_rand --
Estrae a caso uno o più elementi da un array
- array_reduce --
Riduce iterativamente l'array a un singolo valore utilizzando una funzione
callback
- array_reverse --
Restituisce un array con gli elementi in ordine invertito
- array_search --
Ricerca un dato valore in un array e ne restituisce la
chiave corrispondente, se la ricerca ha successo.
- array_shift --
Estrae l'elemento alla testa dell'array
- array_slice -- Estrae un sottoinsieme da un array
- array_splice --
Rimuove una porzione dell'array e la sostituisce con
altro
- array_sum --
Calcola la somma dei valori di un array.
- array_udiff_assoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function.
- array_udiff_uassoc -- Computes the difference of arrays with additional index check. The data is compared by using a callback function. The index check is done by a callback function also
- array_udiff -- Computes the difference of arrays by using a callback function for data comparison.
- array_unique -- Rimuove i valori duplicati di un array
- array_unshift --
Inserisce uno o più elementi all'inizio dell'array
- array_values -- Restituisce tutti i valori di un array
- array_walk --
Esegue una funzione su ogni elemento dell'array
- array --
Crea un array
- arsort --
Ordina un array in ordine decrescente e mantiene le associazioni degli indici
- asort -- Ordina un array e mantiene le associazioni degli indici
- compact --
Crea un array contenente variabili e il loro valore
- count -- Conta gli elementi in una variabile
- current -- Restituisce l'elemento corrente di un array
- each --
Restituisce la corrente coppia chiave/valore di un array e incrementa
il puntatore dell'array
- end --
Sposta il puntatore interno dell'array all'ultimo elemento
- extract --
Importa le variabili nella tabella dei simboli
- in_array -- Controlla se un valore è presente in un array
- key -- Estrae la chiave corrente da un array associativo
- krsort -- Ordina rispetto alle chiavi di un array in ordine inverso
- ksort -- Ordina rispetto alle chiavi di un array
- list --
Assegna valori a delle variabili come se fossero un array
- natcasesort --
Ordina un array usando un algoritmo di "ordine naturale" non sensibile alle maiuscole/minuscole
- natsort --
Ordina un array usando un algoritmo di "ordine naturale"
- next --
Incrementa il puntatore interno dell'array
- pos -- Restituisce l'elemento corrente di un array
- prev -- Decrementa il puntatore interno dell'array
- range --
Crea un array contenente una serie di elementi
- reset --
Reimposta il puntatore interno di un array sulla posizione iniziale
- rsort -- Ordina un array in ordine decrescente
- shuffle -- Mescola un array
- sizeof -- Alias di count()
- sort -- Ordina un array
- uasort --
Ordina un array mediante una funzione definita dall'utente e
mantiene le associazioni
- uksort --
Ordina rispetto alle chiavi di un array mediante una funzione definita dall'utente
- usort --
Ordina un array mediante una funzione definita dall'utente
add a note
User Contributed Notes
Funzioni di Array
gigi at orsone dot com
25-Apr-2004 04:30
Here is a small function to "convert" php arrays to javascript...
<?php
$menuz =
array('Products', 'products.php',
array('Fruit', null,
array('Bananas', 'products.php?cat=bananas'),
array('Apples', 'products.php?cat=apples'),
array('Lemons', 'products.php?cat=lemons')
),
array('Chocolate', 'products.php?cat=chocolate')
);
function array_php2js($data) {
foreach($data as $k=>$datum) {
if(is_null($datum)) $data[$k] = 'null';
if(is_string($datum)) $data[$k] = "'" . $datum . "'";
if(is_array($datum)) $data[$k] = php2js($datum);
}
return "[" . implode(', ', $data) . "]";
}
print(array_php2js($menuz));
?>
And you get:
['Products', 'products.php', ['Fruit', null, ['Bananas', 'products.php?cat=bananas'], ['Apples', 'products.php?cat=apples'], ['Lemons', 'products.php?cat=lemons']], ['Chocolate', 'products.php?cat=chocolate']]
I find it useful in many situation... ;)
esbjorn
22-Apr-2004 11:18
A shorter recursive function to flatten nested arrays could be:
function flattenArray($array)
{
$flatArray = array();
foreach( $array as $subElement ) {
if( is_array($subElement) )
$flatArray = array_merge($flatArray, flattenArray($subElement));
else
$flatArray[] = $subElement;
}
return $flatArray;
}
davidj at boundlessgallery dot DISLIKESPAM dot com
02-Apr-2004 12:10
A recursive function for flattening nested arrays:
<?php
function flatten_array($array) {
for($x = 0; $x < sizeof($array); $x++) {
$element = $array[$x];
if(is_array($element)) {
$results = flatten_array($element);
for($y = 0; $y < sizeof($results); $y++) {
$flat_array[] = $results[$y];
}
} else {
$flat_array[] = $element;
}
}
return $flat_array;
}
?>
Example:
<?php
$array = array("0", "1", array("2", "3", array("4", array("5", "6"), "7", "8")), "9", "10", array("11"), array());
print_r($array);
print_r(flatten_array($array));
?>
Output:
Array
(
[0] => 0
[1] => 1
[2] => Array
(
[0] => 2
[1] => 3
[2] => Array
(
[0] => 4
[1] => Array
(
[0] => 5
[1] => 6
)
[2] => 7
[3] => 8
)
)
[3] => 9
[4] => 10
[5] => Array
(
[0] => 11
)
[6] => Array
(
)
)
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
[10] => 10
[11] => 11
)
webmaster at pzfn dot com
16-Mar-2004 01:15
You should be able to do this....
<?
function unset_by_val($needle,&$haystack) {
$haystack = array_flip($haystack);
unset($haystack[$needle]);
$haystack = array_flip($haystack);
return $haystack;
}
?>
31-Jan-2004 08:54
unset($bar['mushroomsoup']) only works it the key
is 'mushroomsoup'.If you want to erase elements
of an array identified by values rather than by keys
you can use this function:
<?
function unset_by_val($needle,&$haystack) {
while(($gotcha = array_search($needle,$haystack)) > -1)
unset($haystack[$gotcha]);
}
$ring = array('gollum','smeagol','gollum','gandalf',
'deagol','gandalf');
print_r($ring); echo "<br>";
unset_by_val('gollum',$ring);
print_r($ring);
?>
Will output:
Array ( [0] => gollum [1] => smeagol [2] => gollum
[3] => gandalf [4] => deagol [5] => gandalf )
Array ( [1] => smeagol [3] => gandalf
[4] => deagol [5] => gandalf )
31-Jan-2004 07:29
To remove an element from an array use unset(). Example:
unset($bar['mushroomsoup']);
28-Aug-2003 12:09
Remember that if you want to remove an element from an array, you must use "unset" - Do not set the value to null.
szymon at mazurek dot info
24-Aug-2003 11:46
How to count dimensions in multi-array?
This is the way I do this:
function countdim($array) {
static $dimcount = 1;
if (is_array(reset($array))) {
$dimcount++;
$return = countdim(reset($array));
} else {
$return = $dimcount;
}
return $return;
}
This function will return int number of array dimensions.
jeroen at php dot net
29-Aug-2001 07:58
| |