2014-05-01 5 views
-1

j'ai cette fonction dans ma classeajouter A puis B à chaque numéro dans un tableau

public function createPeriods($numPeriods){ 
    $numPeriods = ($numPeriods*2); 
} 

numPeriods toujours égal à 5 ​​ou 6. je dois diviser chaque période en deux et ajouter la lettre A à la première moitié et B à la seconde moitié. Mon résultat souhaité ressemblerait à ceci s'il y avait 5

periods($numPeriods = '5';): 
"1A,1B,2A,2B,3A,3B,4A,4B,5A,5B" 
+1

regardez dans 'modulus' –

+1

Votre titre ne décrit pas ce que vous voulez du tout. Vous ajoutez "A" et "B" à tous les nombres. – Barmar

+0

sauf si je manque quelque chose sur mon titre, c'est exactement ce dont j'ai besoin. Pour ajouter la lettre A aux nombres pairs et la lettre B aux nombres impairs. pas sûr de savoir comment poser la question honnêtement – RIsoldier

Répondre

3

Une simple boucle est nécessaire:

public function createPeriods($numPeriods){ 
    $periods = array() 
    for ($i = 1; $i <= $numPeriods; $i++) { 
     $periods[] = $i.'A'; 
     $periods[] = $i.'B'; 
    } 
    return $periods 
} 

La sortie volonté fonction createPeriods un tableau de vos périodes. Pour sortir une chaîne séparée par une virgule, vous pouvez utiliser echo implode(',', createPeriods(5));

0

Pas besoin de tester les nombres pairs et impairs, il suffit d'ajouter les deux aux résultats dans une boucle.

public function createPeriods($numPeriods) { 
    $results = array(); 
    for ($i = 1; $i <= $numPeriods; $i++) { 
     $results[] = $i . 'A'; 
     $results[] = $i . 'B'; 
    } 
    return implode(',', $results); 
} 
Questions connexes