/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Implode speciel rækker fra alle under-arra~
Fra : Jesper H


Dato : 09-02-06 20:52

Hej alle

Jeg leder efter en speciel funktion, som kan gøre noget lignende
følgende:

<?PHP
$test = array(array('navn' => 'Finn', 'alder' => '25'), array('navn' =>
'Sigurd', 'alder' => '32'));
?>
Jeg mangler en funktion (eller en elegant kombination af nogle få),
der minder om implode, men her imploder f.eks. alle 'navn' værdierne
fra under-array'ene:
"Finn, Sigurd"

Jeg kan godt lave noget kode som gør det, men tænkte om der ikke i
forvejen fandtes en færdiglavet elegant funktion til det. Eventuelt en
færdiglavet funktion som tager et multidimentionelt array såsom her
$test, og returnerer et array med indholdet af alle underarrays med en
bestemt key (her 'navn'), så det bliver : array('Finn', 'Sigurd') ,
som jeg så kan implode.

Nogle forslag?

--
Mvh Jesper, http://fdf.dk/landsdel1/


 
 
Bent Stigsen (09-02-2006)
Kommentar
Fra : Bent Stigsen


Dato : 09-02-06 23:40

Jesper H wrote:
> Hej alle
>
> Jeg leder efter en speciel funktion, som kan gøre noget lignende
> følgende:
>
> <?PHP
> $test = array(array('navn' => 'Finn', 'alder' => '25'), array('navn' =>
> 'Sigurd', 'alder' => '32'));
> ?>
> Jeg mangler en funktion (eller en elegant kombination af nogle få),
> der minder om implode, men her imploder f.eks. alle 'navn' værdierne
> fra under-array'ene:
> "Finn, Sigurd"
>
> Jeg kan godt lave noget kode som gør det, men tænkte om der ikke i
> forvejen fandtes en færdiglavet elegant funktion til det. Eventuelt en
> færdiglavet funktion som tager et multidimentionelt array såsom her
> $test, og returnerer et array med indholdet af alle underarrays med en
> bestemt key (her 'navn'), så det bliver : array('Finn', 'Sigurd') ,
> som jeg så kan implode.
>
> Nogle forslag?

Mmmmmm, arrays.

Den korte måde:...

$res_arr = $test; //kopi af dit array
array_walk($res_arr, create_function('&$v','$v=$v["navn"];'));


Den sviner godt nok lidt med hukommelsen, da den til at starte med
laver en kopi (men det bliver vel frigivet igen). Og det er heller
ikke specielt fejltolerant, så input skal være iorden. Hvis det er et
problem, kan du starte med et tomt array istedet, og flytte værdier over.


/Bent

Jesper H (10-02-2006)
Kommentar
Fra : Jesper H


Dato : 10-02-06 08:32

Ok, tjah, det går nok - takker for'et

--
Mvh Jesper, http://fdf.dk/landsdel1/


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste