Probabil majoritatea dintre voi si-a dorit sa modifice fiecare element dintr-un array cu un singur "sut".
De exemplu avem o lista cu utilizatori salvata intr-un array:
<?php
$utilizatori = array('ion', 'maria', 'vasile', 'dan');
?>
Ex: Se cere sa se transforme fiecare nume de utilizator in majuscule.
Varianta1 clasica, probabil asta se invata in liceu / facultate:
<?php
for ($i=0; $i<count($utilizatori), $i++) {
//suprascriem fiecare element din array
// Functia strtoupper() transforma un string in majuscule
$utilizatori[$i] = strtoupper($utilizatori[$i]);
}
// obtinem $utilizatori = array('ION', 'MARIA', 'VASILE', 'DAN');
?>
Varianta2, transformam folosind functia array_map();
<?php
$utilizatori = array_map("strtoupper", $utilizatori);
// obtinem $utilizatori = array('ION', 'MARIA', 'VASILE', 'DAN');
?>
Asa ca varianta2 pare mult mai simpla si eleganta. Recomand sa folositi functia array_map() pentru modificarea fiecarui element dintr-un array.
Pentru Functia array_map() am definit primii 2 parametri:
- "strtoupper" : functia ce voi apela
- $utilizatori : array-ul ce doresc sa modific.
Bafta!