|
Тема
|
Функции с параметър като параметър ?
|
|
Автор |
id (gunner) |
Публикувано | 01.08.05 16:52 |
|
Има ли някакъв трик като аргумент от тип callback function да подам освен името на функцията и някой от нейните параметри
намример ако имам
$array = ('red', 'green', 'blue'); // допустими цветове
$clauses = array_map($array, "sprintf('color = \'%s\''", )"); // някаква шашма от тоя род
print_r($clauses) //дава =>
color = 'red'
color = 'green'
color = 'blue'
мисълта ми е мога ли да си спестя foreach ($array as $val) $clauses[] = ... конструкцията по някакъв начин.
| |
Тема
|
Re: Функции с параметър като параметър ?
[re: id]
|
|
Автор |
Dakota (erotoman) |
Публикувано | 01.08.05 19:20 |
|
$clauses = $array;
![](http://i.dirbg.com/clubs/icons/wink.gif)
Everything louder than everything else...
| |
Тема
|
Re: Функции с параметър като параметър ?
[re: Dakota]
|
|
Автор |
id (gunner) |
Публикувано | 03.08.05 04:53 |
|
$cоlors = array('red', 'green', 'blue');
искам
$clauses = array("color = 'red'", "color = 'green'", "color = 'blue'");
само с = няма да стане
| |
Тема
|
Re: Функции с параметър като параметър ?
[re: id]
|
|
Автор | kaпитaнчo (Нерегистриран) |
Публикувано | 03.08.05 09:44 |
|
Опитай с create_function. Трябва да стане лесно.
| |
Тема
|
Re: Функции с параметър като параметър ?
[re: id]
|
|
Автор |
Dakota (erotoman) |
Публикувано | 03.08.05 15:24 |
|
Има два варианта:
$colours = array('red', 'green', 'blue');
$clauses = explode(',', 'color=\''.join('\',color=\'', $colours).'\'');
или
function build_clauses($n) {
return "color='$n'";
}
$clauses = array_map("build_clauses", $colours);
Но вариантът с foreach() ми се вижда най-чист:
foreach ($colours as $v) {
$clauses[] = "color='$v'";
}
Everything louder than everything else...
| |
Тема
|
Re: Функции с параметър като параметър ?
[re: Dakota]
|
|
Автор |
phpGuru (член) |
Публикувано | 03.08.05 15:36 |
|
има и друг вариант :-)
$colours = array('red', 'green', 'blue');
$clauses = preg_replace('/^.*$/', 'color = \'$0\'', $colours));
| |
Тема
|
Re: Функции с параметър като параметър ?
[re: phpGuru]
|
|
Автор |
Dakota (erotoman) |
Публикувано | 03.08.05 18:21 |
|
Не е лошо!
Даже може да си спретнем турнирче, като този за . ![](http://i.dirbg.com/clubs/icons/cool.gif)
Everything louder than everything else...
| |
Тема
|
Алоу, тва да ти не е клуб ЛИСП? ;Р
[re: id]
|
|
Автор |
Mopдpeд (seeker) |
Публикувано | 04.08.05 19:43 |
|
Програмиране от втори ред на ПХП:
$colors = array('red', 'green', 'blue');
$lambda = create_function('$color', 'return "color = $color";');
$clauses = array_map($lambda, $colors);
![](http://i.dirbg.com/clubs/icons/tongue.gif)
Портал за почитателите на Толкин - връзки и новини
| |
|
|
|
|