Maison > Questions et réponses > le corps du texte
Vous ne pourrez peut-être rien voir, J'ai deux tableaux :
$grid = Array ( [0] => 3 [1] => 2 [2] => 3 [3] => 2 ) $elements = Array ( [0] => 24426 [1] => 25015 [2] => 24422 [3] => 24425 [4] => 24531 [5] => 24421 [6] => 24530 [7] => 24532 [8] => 25016 [9] => 24418 )
Fondamentalement, l'idée est d'avoir quelque chose de similaire pour chaque valeur de $grid et la valeur de $elements . Par exemple, [0] => 3 bouclé trois fois obtiendra 24426,25015,24422. Maintenant, voici le problème, pour le deuxième résultat [1] => 2 Je n'ai besoin d'obtenir que deux valeurs, mais pas les valeurs précédentes des trois éléments $ itérés. Donc, en gros, dans la deuxième itération, j'obtiendrai 24425,24531.
Remarque : la valeur de la grille $ peut être 1, 2, 3 ....300...n ;
Le tableau de résultats devrait ressembler à ceci :
Array ( [0] => 3,24426 [1] => 3,25015 [2] => 3,24422 [3] => 2,24425 [4] => 2,24531 [5] => 3,24421 [6] => 3,24530 [7] => 3,24532 [8] => 2,25016 [9] => 2,24418 )
P粉6676492532024-03-23 09:05:35
EDIT : légère modification du code pour l'adapter au format de sortie souhaité
Veuillez considérer ce code.
$grid = [3, 2, 3, 2]; $elements = [24426,25015,24422,24425,24531,24421,24530,24532,25016,24418]; $result = []; foreach($grid as $take) { $org_take = $take; while($take-- > 0) { if (empty($elements)) { throw new Exception('Not enough elements'); } $result[] = sprintf('%d,%d', $org_take, array_shift($elements)); } } print_r($result);
Donne le résultat :
Array ( [0] => 3,24426 [1] => 3,25015 [2] => 3,24422 [3] => 2,24425 [4] => 2,24531 [5] => 3,24421 [6] => 3,24530 [7] => 3,24532 [8] => 2,25016 [9] => 2,24418 )