Par exemple, j'ai un tableau:
$x = array("a", "a", "b", "b", "c", "c", "d", "d", "e", "e");
3 Réponses :
ressemble à une réduction raisonnablement simple (en utilisant démo ~ https://3v4l.org/enh8a p> vient de réaliser que "réduction" em> semble un peu drôle puisque nous faisons le tableau plus gros. Pensez-y plus comme une transformation em>. Voir https://fr.wikipedia.org/wiki/reduce_(Parallel_Pattern) p> p> array_reduce () code >
)
Je recommande de modifier le corps de la fonction de réduction à: retour Array_merge ($ Arr, array_pad ([], $ fois, $ VAL)); code> - de cette façon le
$ fois code> Peut être changé facilement - ajouter
utiliser ($ fois) code> à la déclaration de fonction Réduire la fonction
@dwinder je vois ce que tu veux dire. Je sens que je pouvais faire quelque chose de plus concis à l'aide de l'opérateur PHP Splat i>. J'en aurayerai
Je ne sais pas s'il y a une fonction de bibliothèque pour cela, mais cherchez-vous quelque chose dans le sens de ceci: Cela devrait en théorie faire ce que vous voulez. p> array(5) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
[3]=>
string(1) "d"
[4]=>
string(1) "e"
}
array(10) {
[0]=>
string(1) "a"
[1]=>
string(1) "a"
[2]=>
string(1) "b"
[3]=>
string(1) "b"
[4]=>
string(1) "c"
[5]=>
string(1) "c"
[6]=>
string(1) "d"
[7]=>
string(1) "d"
[8]=>
string(1) "e"
[9]=>
string(1) "e"
}
itération sur le tableau et stocke les valeurs d'une nouvelle array est une solution simple.
$x = array("a", "b", "c", "d", "e"); $result_array = []; $repeat_x_times = 2; foreach ($x as $element) { for ($i = 0; $i < $repeat_x_times ; $i++) { $result_array[] = $element; } }
Similaire: Stackoverflow.com/q/8234899/2943403
Quelle est votre utilisation réelle pour cette technique? Stocker des données redondantes ne sent pas les meilleures pratiques. Qu'est-ce que vous en fait i> faire?
Ce n'est pas ce mec similaire! Il est difficile d'expliquer mais mon projet nécessite certaines conditions que je dois doubler les valeurs afin que je puisse les lire deux fois lorsque je pourache. Désolé s'il y a un autre moyen plus efficace de le faire, mais je pense juste à cela.
C'est exactement la même chose que pour l'ordre des éléments. Le réglage de vos données n'est pas la solution à votre problème de codage.
Pour que je puisse les lire deux fois lorsque je pourache i>. Pourquoi ne pas simplement faire la même chose deux fois dans la boucle?
foreach ($ A comme $ b) {echo $ b; echo $ b;} code>
Non non. C'est comme si j'ai deux champs et je dois faire écho à une valeur unique pour les deux domaines à chaque fois que je pourach.
Il n'est jamais trop tard pour clarifier votre problème de codage. J'ai voté pour fermer comme incertain. Il n'est pas clair par votre question postée et vos échantillons de données exactement ce dont vous avez besoin d'aide.
@MickMackusa Je pense que vous êtes sur la bonne voie ici. Une inspection plus étroite de cette question sent fortement un XY Problème