alle values van array bewerken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

11/03/2014 22:09:04
Quote Anchor link
Hoi mensen,

Is het mogelijk om alle values van een array te bewerken... en dan bedoel ik ook de values die in een array binnen die array zitten?

Voorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$array
= array('foo', 'bar', 'baz' => array('bar' => 'foobar', 'foobaz'));

?>

Wat ik me dus afvraag is of het mogelijk is (en zo ja hoe) om alle values aan te passen. Stel ik wil achter iedere value een X zetten, dan zou de aangepaste array er dus zo uit komen te zien:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$array
= array('fooX', 'barX', 'baz' => array('bar' => 'foobarX', 'foobazX'));

?>

Kan zoiets?
 
PHP hulp

PHP hulp

23/12/2024 19:29:22
 
TJVB tvb

TJVB tvb

12/03/2014 10:12:13
Quote Anchor link
Kijk eens naar array_walk_recursive

Voorbeeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$array
= array(
    'abc',
    'def',
    'ghi' => array(
        'jkl',
        'mno',
    ),
);

function
demoWalk( &$item , $key){
    $item = $item .'X';
}


print_r($array);
array_walk_recursive($array, 'demoWalk');
print_r($array);
?>
 
Ozzie PHP

Ozzie PHP

12/03/2014 12:35:50
Quote Anchor link
Dat ziet er goed uit!

Ik ben wel benieuwd... als ik nu binnen een class method deze opzet wil gebruiken, moet ik dan binnen die method een function maken? Of zijn er nog andere mogelijkheden?
 
TJVB tvb

TJVB tvb

12/03/2014 13:28:06
Quote Anchor link
Je moet een methode hebben voor je callback, dit kan ook de functie van een class zijn.
Zie http://nl1.php.net/manual/en/language.types.callable.php
 
Dos Moonen

Dos Moonen

12/03/2014 13:31:16
Quote Anchor link
Niet waar, zoals op de gelinkte pagina staat voldoen lambda's ook: http://nl1.php.net/manual/en/functions.anonymous.php
 
Ozzie PHP

Ozzie PHP

12/03/2014 13:33:55
Quote Anchor link
@Dos: kan je een voorbeeld geven hoe dat op basis van het voorbeeld van TJVB eruit zou zien met zo'n "lambda" ?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.