2011-02-12 1 views
1

Au risque d'auto-gêne, quelqu'un pourrait me dire comment utiliser return ici:Retourne un tableau de la fonction PHP à Smarty

function dayCount() { 

    for ($dayBegin = 1; $dayBegin < 32; $dayBegin++) 
    { 
     "<option value=\"".$dayBegin."\">".$dayBegin."</option>"; 
    } 
} 

Mon problème est que je passe cette fonction à Smarty via

$dayCount = dayCount(); 
$smarty->assign('dayCount', $dayCount); 

et

{$dayCount} 

mais le code HTML va droit au tampon, droit befo re <html> (merci Hamish), pas dans l'élément HTML que je veux.

Vous avez de l'aide?

Répondre

2

Vous devez construire la déclaration de retour

function dayCount() { 
    $return = array(); 
    for ($dayBegin = 1; $dayBegin < 32; $dayBegin++) 
    { 
     $return[] = "<option value=\"".$dayBegin."\">".$dayBegin."</option>"; 
    } 
    return $return; 
} 

Bien que ce soit la construction d'un tableau en place comme vous avez demandé. Lors de la sortie, vous auriez besoin de l'imploser.

implode('', $dayCount); 

Ou sinon, créez une chaîne au lieu d'un tableau.

+0

Jacob, tu l'as cloué! Merci beaucoup d'avoir aidé - fonctionne un régal. J'avais essayé plusieurs versions en utilisant 'return' mais ils ont toujours sorti 'array' -' implode' manquait toujours !! – pepe

Questions connexes