Funzione php array_filter

Funzione php array_filter
I dati dell'array possono essere filtrati iterando gli elementi dell'array con il ciclo in PHP. Questa attività può essere eseguita molto facilmente utilizzando la funzione Array_Filter (). La funzione di callback definita dall'utente viene utilizzata in questa funzione per filtrare i dati. L'array restituito da questa funzione ha preservato la chiave dell'array originale. In questo tutorial sono stati mostrati diversi usi della funzione array_filter ().

Sintassi:
La sintassi dell'array_filter () è riportata di seguito.

array array_filter ($ array, $ callback_function, $ flag)

  • Il primo argomento della funzione è obbligatorio e contiene un array e verrà utilizzato per il filtraggio.
  • Il secondo argomento è facoltativo ed è una funzione di callback utilizzata per filtrare i dati dell'array.
  • Il terzo argomento è facoltativo e può archiviare due tipi di valori. Un valore è array_filter_use_key che passa la chiave dell'array come argomento nella funzione di callback. Un altro valore può essere Array_Filter_use_both, che passa sia la chiave che il valore come argomento della funzione di callback.
  • Restituisce l'array filtrato.

Diversi usi delle funzioni Array_Filter () sono stati mostrati nella parte successiva del tutorial.

Esempio-1: filtrare un array numerico

Crea un file PHP con il seguente script per filtrare i valori dell'array in base a una condizione. L'array dichiarato nello script contiene valori positivi, negativi e zero. La funzione Array_Filter () è stata utilizzata nello script per recuperare i valori negativi dall'array. Successivamente, l'array filtrato è stato stampato.

// dichiara una matrice numerica di numeri positivi, negativi e zero
$ array = [78, -56, 45, 0, -33, 59, -21];
// crea una nuova serie di numeri negativi
$ filter_array = array_filter ($ array,
funzione ($ a)
restituire $ a < 0;

);
// Stampa il nuovo array
Echo "I numeri negativi dell'array sono:
";
foreach ($ filter_array come $ value)
Echo $ Value."
";

Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio 2: filtrare un array associativo

Crea un file PHP con il seguente script per filtrare i valori dell'array associativo in base a una condizione. L'array contiene il nome dello studente come chiave e marchio come valore. La funzione Array_Filter () è stata utilizzata nello script per recuperare quegli elementi dall'array in cui il valore è superiore a 79. Successivamente, l'array filtrato è stato stampato.

// dichiara una serie associativa di quattro elementi
$ marks = ["mir ali" => 90, "kamal hossain" => 78, "sakil ahamed" => 82, "moniruzzaman" => 85];
// crea un nuovo array che contiene numero più di 79
$ filter_marks = array_filter ($ marks,
funzione ($ mark)
restituire $ mark> 79;

);
// Stampa il nuovo array
foreach ($ filter_marks as $ key => $ value)
Echo $ Key. "ottenuto".$ valore."
";

Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-3: filtrare un array associativo usando un oggetto

Crea un file PHP con il seguente script che filtrerà i valori di un array utilizzando l'oggetto Classe nella funzione di callback. L'array associativo contiene l'ID richiedente come chiave e "presente" o "assente" come valore. La funzione Array_Filter () filtrerà quegli elementi in cui i valori sono "presenti".

/*Dichiara una classe per scoprire gli attuali candidati
* usando un metodo*/
Controllo di classe

funzione pubblica presente ($ val)

restituire $ val == "presente";


// Dichiara un array associativo di 5 elementi
$ candidati = ['08967' => 'presente', '04567' => 'ASENT', '08923' => 'presente', '03412' => 'assente', '07811' => 'presente'];
/*Crea un nuovo array utilizzando Array_Filter ()
con la funzione oggetto e callback*/
$ present_applicants = array_filter ($ candidati,
[nuovo check (), "presente"]
);
// Stampa il numero di candidati totali
Echo "Candidati totali =".Conte ($ candidati)."
";
// Stampa il numero di candidati attuali
Echo "Presicanti presenti =".conteggio ($ present_applicants);

Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-4: filtrare un array associativo usando un flag

Crea un file PHP con il seguente script per filtrare l'array in base all'array_filter_use_key e array_filter_use_both flags. La funzione First Array_Filter () recupererà l'elemento dall'array in cui è il valore della chiave 'Londra'. La funzione Second Array_Filter () recupererà l'elemento dall'array in cui è il valore della chiave 'Kabul'e il valore è'Afghanistan'.

// dichiara un array associativo
$ Array = ['Dhaka' => 'Bangladesh', 'Kabul' => 'Afghanistan', 'Canberra' => 'Australia',
'Pechino' => 'China', 'London' => 'Inghilterra', 'Washington D.C.'=>' Stati Uniti '];
// Utilizzo di array_filter () con array_filter_use_key
$ filtred_array1 = array_filter (
$ array,
fn ($ k) => $ k == 'London', array_filter_use_key);
// Stampa il valore dell'array filtrato
foreach ($ filtred_array1 come $ key => $ value)
eco "
Nome del paese: $ Valore
";
Echo "Nome capitale. $ Key
";

// usando array_filter () con array_filter_use_both
$ filtred_array2 = array_filter (
$ array,
fn ($ v, $ k) => $ k == 'kabul' && $ v == 'afghanistan', array_filter_use_both);
// Stampa il valore dell'array filtrato
foreach ($ filtred_array2 come $ key => $ value)
eco "
Nome del paese: $ Valore
";
Echo "Nome capitale. $ Key
";

Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Esempio-5: filtrare un array multidimensionale

Crea un file PHP con il seguente script che filtrerà i valori dell'array bidimensionale. La funzione Array_Filter () filtrerà tali valori dall'array in cui il valore del stipendio La chiave è maggiore di 60000.

// dichiara un array bidimensionale
$ dipendenti = [
['name' => 'jafar iqbal', 'email' => '[email protected] ',' stipendio '=> 60000],
['name' => 'Mohammed Ali', 'email' => '[email protected] ',' stipendio '=> 55000],
['name' => 'Nila Akter', 'email' => '[email protected] ',' stipendio '=> 73000],
['name' => 'riya chowdhury', 'email' => '[email protected] ',' stipendio '=> 80000]];
// Filtra i valori dell'array in base allo stipendio
$ filterred_employees = array_filter ($ dipendenti, funzione ($ array)
// restituisce dipendenti il ​​cui stipendio è più di 60000
if ($ array ['stipendio']> 60000)
restituire $ array;

);
// Stampa l'array filtrato
eco '
';
print_r ($ filterred_employees);
eco '
';
?>

Produzione:
Verrà visualizzato il seguente output dopo aver eseguito lo script sopra.

Conclusione:

La funzione Array_Filter () può filtrare i valori dell'array in modo diverso utilizzando la funzione di callback con o senza il valore del flag. Le vie di filtrare gli array unidimensionali e bidimensionali numerici e associativi sono stati mostrati negli esempi di questo tutorial. Spero che gli utenti PHP siano in grado di filtrare i valori in base ai loro requisiti dopo aver letto questo tutorial.