2017-05-24 5 views
-3

Je viens de trouver une solution à mon problème:Php - chaîne à tableau 3 dimensions

J'ai une chaîne plat comme ceci:

$chaine = "519637824467582931832419576721894365346125789985376412698243157273951648154768293"; 

Je veux convertir cette chaîne de tableau à deux dimensions, ce format ici:

$tab = [ 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
    [0, 0, 0, 0, 0, 0, 0, 0, 0], 
]; 

J'ai eu une réponse initiale avec $ grille_splited = str_split ($ string, 9); je reçois une table:

$tab = [ 
[000000000], 
[000000000], 
[000000000], 
[000000000], 
[000000000], 
[000000000], 
[000000000], 
[000000000], 
[000000000], 
]; 

Il me manque une dimension que je crois?

Pour plus d'informations: cette question vise à utiliser un Sudoku Solver (Sudoku Projet)

* résultat d'un google traduit

Edit: Désolé de Guy et Thx pour vos conseils! :)

+1

En anglais s'il vous plaît. https://stackoverflow.blog/2009/07/23/non-english-question-policy/ – CBroe

+0

seulement anglais plz. –

+0

Recherche: anglais pulp fiction – Edwin

Répondre

0

Vous devez effectuer une scission aditional sur les 9 chaînes char:

$string = "519637824467582931832419576721894365346125789985376412698243157273951648154768293"; 
$output = array_map(function($element){ 
    return str_split($element); 
}, str_split($string, 9)); 

/*$output equals 
Array 
(
    [0] => Array 
     (
      [0] => 5 
      [1] => 1 
      [2] => 9 
      [3] => 6 
      [4] => 3 
      [5] => 7 
      [6] => 8 
      [7] => 2 
      [8] => 4 
     ) 

    [1] => Array 
     (
      [0] => 4 
      [1] => 6 
      [2] => 7 
      [3] => 5 
      [4] => 8 
      [5] => 2 
      [6] => 9 
      [7] => 3 
      [8] => 1 
     ) 

    [2] => Array 
     (
      [0] => 8 
      [1] => 3 
      [2] => 2 
      [3] => 4 
      [4] => 1 
      [5] => 9 
      [6] => 5 
      [7] => 7 
      [8] => 6 
     ) 

    [3] => Array 
     (
      [0] => 7 
      [1] => 2 
      [2] => 1 
      [3] => 8 
      [4] => 9 
      [5] => 4 
      [6] => 3 
      [7] => 6 
      [8] => 5 
     ) 

    [4] => Array 
     (
      [0] => 3 
      [1] => 4 
      [2] => 6 
      [3] => 1 
      [4] => 2 
      [5] => 5 
      [6] => 7 
      [7] => 8 
      [8] => 9 
     ) 

    [5] => Array 
     (
      [0] => 9 
      [1] => 8 
      [2] => 5 
      [3] => 3 
      [4] => 7 
      [5] => 6 
      [6] => 4 
      [7] => 1 
      [8] => 2 
     ) 

    [6] => Array 
     (
      [0] => 6 
      [1] => 9 
      [2] => 8 
      [3] => 2 
      [4] => 4 
      [5] => 3 
      [6] => 1 
      [7] => 5 
      [8] => 7 
     ) 

    [7] => Array 
     (
      [0] => 2 
      [1] => 7 
      [2] => 3 
      [3] => 9 
      [4] => 5 
      [5] => 1 
      [6] => 6 
      [7] => 4 
      [8] => 8 
     ) 

    [8] => Array 
     (
      [0] => 1 
      [1] => 5 
      [2] => 4 
      [3] => 7 
      [4] => 6 
      [5] => 8 
      [6] => 2 
      [7] => 9 
      [8] => 3 
     ) 

)/*