[{"data":1,"prerenderedAt":1191},["ShallowReactive",2],{"page-\u002Fphp\u002Fboucles-et-tableaux":3,"pieces-php":1148,"autour-\u002Fphp\u002Fboucles-et-tableaux":1173,"prerequis-\u002Fphp\u002Fboucles-et-tableaux":1178,"plan-php":1180},{"id":4,"title":5,"body":6,"description":1122,"extension":1123,"ligne":77,"meta":1124,"motsCles":1125,"navigation":129,"niveau":1126,"path":1127,"prerequis":1128,"ressources":1130,"seo":1139,"sources":1140,"stem":1146,"__hash__":1147},"docs\u002Fphp\u002F03.boucles-et-tableaux.md","Boucles et tableaux",{"type":7,"value":8,"toc":1111},"minimark",[9,14,50,54,72,186,195,199,209,314,321,325,328,442,445,449,456,563,576,579,638,647,651,659,720,729,736,804,810,814,861,865,971,986,997,1040,1048,1058,1062,1107],[10,11,13],"h2",{"id":12},"ce-que-tu-vas-apprendre","Ce que tu vas apprendre",[15,16,17,21,37],"ul",{},[18,19,20],"li",{},"Créer un tableau simple et un tableau associatif.",[18,22,23,24,28,29,32,33,36],{},"Parcourir un tableau avec ",[25,26,27],"code",{},"foreach",", et répéter du code avec ",[25,30,31],{},"for"," et ",[25,34,35],{},"while",".",[18,38,39,40,43,44,32,47,36],{},"Utiliser quelques fonctions pratiques comme ",[25,41,42],{},"count",", ",[25,45,46],{},"in_array",[25,48,49],{},"array_map",[10,51,53],{"id":52},"un-tableau-simple","Un tableau simple",[55,56,57,58,62,63,67,68,71],"p",{},"Un ",[59,60,61],"strong",{},"tableau"," (",[64,65,66],"em",{},"array",") range plusieurs valeurs dans une seule variable. Chaque valeur a une position, appelée ",[59,69,70],{},"indice",", qui commence à 0.",[73,74,79],"pre",{"className":75,"code":76,"language":77,"meta":78,"style":78},"language-php shiki shiki-themes github-light-default github-dark-default github-dark-default","\u003C?php\n$ingredients = [\"farine\", \"oeufs\", \"lait\"];\n\necho $ingredients[0]; \u002F\u002F farine\necho count($ingredients); \u002F\u002F 3\n\n$ingredients[] = \"sucre\"; \u002F\u002F ajoute à la fin\n","php","",[25,80,81,94,124,131,150,164,169],{"__ignoreMap":78},[82,83,86,90],"span",{"class":84,"line":85},"line",1,[82,87,89],{"class":88},"sOnC1","\u003C?",[82,91,93],{"class":92},"s5iOY","php\n",[82,95,97,101,104,107,111,113,116,118,121],{"class":84,"line":96},2,[82,98,100],{"class":99},"scfrF","$ingredients ",[82,102,103],{"class":88},"=",[82,105,106],{"class":99}," [",[82,108,110],{"class":109},"shWOn","\"farine\"",[82,112,43],{"class":99},[82,114,115],{"class":109},"\"oeufs\"",[82,117,43],{"class":99},[82,119,120],{"class":109},"\"lait\"",[82,122,123],{"class":99},"];\n",[82,125,127],{"class":84,"line":126},3,[82,128,130],{"emptyLinePlaceholder":129},true,"\n",[82,132,134,137,140,143,146],{"class":84,"line":133},4,[82,135,136],{"class":92},"echo",[82,138,139],{"class":99}," $ingredients[",[82,141,142],{"class":92},"0",[82,144,145],{"class":99},"]; ",[82,147,149],{"class":148},"sd6ml","\u002F\u002F farine\n",[82,151,153,155,158,161],{"class":84,"line":152},5,[82,154,136],{"class":92},[82,156,157],{"class":92}," count",[82,159,160],{"class":99},"($ingredients); ",[82,162,163],{"class":148},"\u002F\u002F 3\n",[82,165,167],{"class":84,"line":166},6,[82,168,130],{"emptyLinePlaceholder":129},[82,170,172,175,177,180,183],{"class":84,"line":171},7,[82,173,174],{"class":99},"$ingredients[] ",[82,176,103],{"class":88},[82,178,179],{"class":109}," \"sucre\"",[82,181,182],{"class":99},"; ",[82,184,185],{"class":148},"\u002F\u002F ajoute à la fin\n",[55,187,188,190,191,194],{},[25,189,42],{}," renvoie le nombre d'éléments. Les crochets vides ",[25,192,193],{},"[]"," ajoutent un élément en fin de tableau.",[10,196,198],{"id":197},"le-tableau-associatif","Le tableau associatif",[55,200,201,202,205,206,36],{},"Au lieu d'un numéro, tu peux repérer chaque valeur par un nom, appelé ",[59,203,204],{},"clé",". C'est un ",[59,207,208],{},"tableau associatif",[73,210,212],{"className":75,"code":211,"language":77,"meta":78,"style":78},"\u003C?php\n$recette = [\n    \"titre\" => \"Crêpes\",\n    \"duree\" => 30,\n    \"vegetarien\" => true,\n];\n\necho $recette[\"titre\"]; \u002F\u002F Crêpes\n$recette[\"duree\"] = 25; \u002F\u002F modifier\n",[25,213,214,220,230,244,256,268,272,276,292],{"__ignoreMap":78},[82,215,216,218],{"class":84,"line":85},[82,217,89],{"class":88},[82,219,93],{"class":92},[82,221,222,225,227],{"class":84,"line":96},[82,223,224],{"class":99},"$recette ",[82,226,103],{"class":88},[82,228,229],{"class":99}," [\n",[82,231,232,235,238,241],{"class":84,"line":126},[82,233,234],{"class":109},"    \"titre\"",[82,236,237],{"class":88}," =>",[82,239,240],{"class":109}," \"Crêpes\"",[82,242,243],{"class":99},",\n",[82,245,246,249,251,254],{"class":84,"line":133},[82,247,248],{"class":109},"    \"duree\"",[82,250,237],{"class":88},[82,252,253],{"class":92}," 30",[82,255,243],{"class":99},[82,257,258,261,263,266],{"class":84,"line":152},[82,259,260],{"class":109},"    \"vegetarien\"",[82,262,237],{"class":88},[82,264,265],{"class":92}," true",[82,267,243],{"class":99},[82,269,270],{"class":84,"line":166},[82,271,123],{"class":99},[82,273,274],{"class":84,"line":171},[82,275,130],{"emptyLinePlaceholder":129},[82,277,279,281,284,287,289],{"class":84,"line":278},8,[82,280,136],{"class":92},[82,282,283],{"class":99}," $recette[",[82,285,286],{"class":109},"\"titre\"",[82,288,145],{"class":99},[82,290,291],{"class":148},"\u002F\u002F Crêpes\n",[82,293,295,298,301,304,306,309,311],{"class":84,"line":294},9,[82,296,297],{"class":99},"$recette[",[82,299,300],{"class":109},"\"duree\"",[82,302,303],{"class":99},"] ",[82,305,103],{"class":88},[82,307,308],{"class":92}," 25",[82,310,182],{"class":99},[82,312,313],{"class":148},"\u002F\u002F modifier\n",[55,315,316,317,320],{},"La flèche ",[25,318,319],{},"=>"," relie la clé à sa valeur. Ce format correspond à ce que tu rencontreras plus tard avec les bases de données et le JSON.",[10,322,324],{"id":323},"des-tableaux-dans-des-tableaux","Des tableaux dans des tableaux",[55,326,327],{},"Une liste de recettes est un tableau dont chaque élément est lui-même un tableau associatif.",[73,329,331],{"className":75,"code":330,"language":77,"meta":78,"style":78},"\u003C?php\n$recettes = [\n    [\"titre\" => \"Crêpes\", \"duree\" => 30],\n    [\"titre\" => \"Ratatouille\", \"duree\" => 60],\n    [\"titre\" => \"Tarte aux pommes\", \"duree\" => 45],\n];\n\necho $recettes[1][\"titre\"]; \u002F\u002F Ratatouille\n",[25,332,333,339,348,370,392,414,418,422],{"__ignoreMap":78},[82,334,335,337],{"class":84,"line":85},[82,336,89],{"class":88},[82,338,93],{"class":92},[82,340,341,344,346],{"class":84,"line":96},[82,342,343],{"class":99},"$recettes ",[82,345,103],{"class":88},[82,347,229],{"class":99},[82,349,350,353,355,357,359,361,363,365,367],{"class":84,"line":126},[82,351,352],{"class":99},"    [",[82,354,286],{"class":109},[82,356,237],{"class":88},[82,358,240],{"class":109},[82,360,43],{"class":99},[82,362,300],{"class":109},[82,364,237],{"class":88},[82,366,253],{"class":92},[82,368,369],{"class":99},"],\n",[82,371,372,374,376,378,381,383,385,387,390],{"class":84,"line":133},[82,373,352],{"class":99},[82,375,286],{"class":109},[82,377,237],{"class":88},[82,379,380],{"class":109}," \"Ratatouille\"",[82,382,43],{"class":99},[82,384,300],{"class":109},[82,386,237],{"class":88},[82,388,389],{"class":92}," 60",[82,391,369],{"class":99},[82,393,394,396,398,400,403,405,407,409,412],{"class":84,"line":152},[82,395,352],{"class":99},[82,397,286],{"class":109},[82,399,237],{"class":88},[82,401,402],{"class":109}," \"Tarte aux pommes\"",[82,404,43],{"class":99},[82,406,300],{"class":109},[82,408,237],{"class":88},[82,410,411],{"class":92}," 45",[82,413,369],{"class":99},[82,415,416],{"class":84,"line":166},[82,417,123],{"class":99},[82,419,420],{"class":84,"line":171},[82,421,130],{"emptyLinePlaceholder":129},[82,423,424,426,429,432,435,437,439],{"class":84,"line":278},[82,425,136],{"class":92},[82,427,428],{"class":99}," $recettes[",[82,430,431],{"class":92},"1",[82,433,434],{"class":99},"][",[82,436,286],{"class":109},[82,438,145],{"class":99},[82,440,441],{"class":148},"\u002F\u002F Ratatouille\n",[55,443,444],{},"On lit de l'extérieur vers l'intérieur : d'abord la position dans la liste, puis la clé.",[10,446,448],{"id":447},"foreach-parcourir-un-tableau","foreach : parcourir un tableau",[55,450,451,455],{},[59,452,453],{},[25,454,27],{}," exécute un bloc de code pour chaque élément d'un tableau. C'est la boucle que tu utiliseras le plus.",[73,457,460],{"className":75,"code":458,"filename":459,"language":77,"meta":78,"style":78},"\u003Cul>\n\u003C?php foreach ($recettes as $recette): ?>\n  \u003Cli>\u003C?= $recette[\"titre\"] ?> (\u003C?= $recette[\"duree\"] ?> min)\u003C\u002Fli>\n\u003C?php endforeach; ?>\n\u003C\u002Ful>\n","recettes.php",[25,461,462,472,496,541,555],{"__ignoreMap":78},[82,463,464,467,469],{"class":84,"line":85},[82,465,466],{"class":88},"\u003C",[82,468,15],{"class":92},[82,470,471],{"class":88},">\n",[82,473,474,476,478,481,484,487,490,493],{"class":84,"line":96},[82,475,89],{"class":88},[82,477,77],{"class":92},[82,479,480],{"class":88}," foreach",[82,482,483],{"class":99}," ($recettes ",[82,485,486],{"class":88},"as",[82,488,489],{"class":99}," $recette)",[82,491,492],{"class":88},":",[82,494,495],{"class":88}," ?>\n",[82,497,498,501,503,506,508,510,512,515,517,520,522,524,526,528,531,534,537,539],{"class":84,"line":126},[82,499,500],{"class":88},"  \u003C",[82,502,18],{"class":92},[82,504,505],{"class":88},">\u003C?=",[82,507,283],{"class":99},[82,509,286],{"class":109},[82,511,303],{"class":99},[82,513,514],{"class":88},"?>",[82,516,62],{"class":99},[82,518,519],{"class":88},"\u003C?=",[82,521,283],{"class":99},[82,523,300],{"class":109},[82,525,303],{"class":99},[82,527,514],{"class":88},[82,529,530],{"class":92}," min",[82,532,533],{"class":99},")",[82,535,536],{"class":88},"\u003C\u002F",[82,538,18],{"class":92},[82,540,471],{"class":88},[82,542,543,545,547,550,552],{"class":84,"line":133},[82,544,89],{"class":88},[82,546,77],{"class":92},[82,548,549],{"class":88}," endforeach",[82,551,182],{"class":99},[82,553,554],{"class":88},"?>\n",[82,556,557,559,561],{"class":84,"line":152},[82,558,536],{"class":88},[82,560,15],{"class":92},[82,562,471],{"class":88},[55,564,565,566,569,570,32,572,575],{},"À chaque tour, ",[25,567,568],{},"$recette"," contient l'élément suivant. La syntaxe avec ",[25,571,492],{},[25,573,574],{},"endforeach"," est pratique dans les pages HTML, car elle évite les accolades.",[55,577,578],{},"Pour récupérer aussi la clé :",[73,580,582],{"className":75,"code":581,"language":77,"meta":78,"style":78},"\u003C?php\nforeach ($recette as $cle => $valeur) {\n    echo \"$cle : $valeur\\n\";\n}\n",[25,583,584,590,607,633],{"__ignoreMap":78},[82,585,586,588],{"class":84,"line":85},[82,587,89],{"class":88},[82,589,93],{"class":92},[82,591,592,594,597,599,602,604],{"class":84,"line":96},[82,593,27],{"class":88},[82,595,596],{"class":99}," ($recette ",[82,598,486],{"class":88},[82,600,601],{"class":99}," $cle ",[82,603,319],{"class":88},[82,605,606],{"class":99}," $valeur) {\n",[82,608,609,612,615,618,621,624,627,630],{"class":84,"line":126},[82,610,611],{"class":92},"    echo",[82,613,614],{"class":109}," \"",[82,616,617],{"class":99},"$cle",[82,619,620],{"class":109}," : ",[82,622,623],{"class":99},"$valeur",[82,625,626],{"class":88},"\\n",[82,628,629],{"class":109},"\"",[82,631,632],{"class":99},";\n",[82,634,635],{"class":84,"line":133},[82,636,637],{"class":99},"}\n",[639,640,641],"warning",{},[55,642,643,644,36],{},"Les valeurs affichées dans du HTML doivent être protégées avant d'être envoyées au navigateur. Tu verras comment au chapitre sur les formulaires, avec ",[25,645,646],{},"htmlspecialchars",[10,648,650],{"id":649},"for-et-while","for et while",[55,652,653,654,658],{},"Quand tu sais combien de fois répéter, utilise ",[59,655,656],{},[25,657,31],{},". Il a trois parties : le départ, la condition de continuation et le pas.",[73,660,662],{"className":75,"code":661,"language":77,"meta":78,"style":78},"\u003C?php\nfor ($i = 1; $i \u003C= 3; $i++) {\n    echo \"Étape $i\\n\";\n}\n",[25,663,664,670,700,716],{"__ignoreMap":78},[82,665,666,668],{"class":84,"line":85},[82,667,89],{"class":88},[82,669,93],{"class":92},[82,671,672,674,677,679,682,685,688,691,694,697],{"class":84,"line":96},[82,673,31],{"class":88},[82,675,676],{"class":99}," ($i ",[82,678,103],{"class":88},[82,680,681],{"class":92}," 1",[82,683,684],{"class":99},"; $i ",[82,686,687],{"class":88},"\u003C=",[82,689,690],{"class":92}," 3",[82,692,693],{"class":99},"; $i",[82,695,696],{"class":88},"++",[82,698,699],{"class":99},") {\n",[82,701,702,704,707,710,712,714],{"class":84,"line":126},[82,703,611],{"class":92},[82,705,706],{"class":109}," \"Étape ",[82,708,709],{"class":99},"$i",[82,711,626],{"class":88},[82,713,629],{"class":109},[82,715,632],{"class":99},[82,717,718],{"class":84,"line":133},[82,719,637],{"class":99},[55,721,722,725,726,728],{},[25,723,724],{},"$i++"," ajoute 1 à ",[25,727,709],{}," à chaque tour. Quand la condition devient fausse, la boucle s'arrête.",[55,730,731,735],{},[59,732,733],{},[25,734,35],{}," répète tant qu'une condition reste vraie :",[73,737,739],{"className":75,"code":738,"language":77,"meta":78,"style":78},"\u003C?php\n$portions = 1;\nwhile ($portions \u003C 8) {\n    $portions = $portions * 2;\n}\necho $portions; \u002F\u002F 8\n",[25,740,741,747,758,772,790,794],{"__ignoreMap":78},[82,742,743,745],{"class":84,"line":85},[82,744,89],{"class":88},[82,746,93],{"class":92},[82,748,749,752,754,756],{"class":84,"line":96},[82,750,751],{"class":99},"$portions ",[82,753,103],{"class":88},[82,755,681],{"class":92},[82,757,632],{"class":99},[82,759,760,762,765,767,770],{"class":84,"line":126},[82,761,35],{"class":88},[82,763,764],{"class":99}," ($portions ",[82,766,466],{"class":88},[82,768,769],{"class":92}," 8",[82,771,699],{"class":99},[82,773,774,777,779,782,785,788],{"class":84,"line":133},[82,775,776],{"class":99},"    $portions ",[82,778,103],{"class":88},[82,780,781],{"class":99}," $portions ",[82,783,784],{"class":88},"*",[82,786,787],{"class":92}," 2",[82,789,632],{"class":99},[82,791,792],{"class":84,"line":152},[82,793,637],{"class":99},[82,795,796,798,801],{"class":84,"line":166},[82,797,136],{"class":92},[82,799,800],{"class":99}," $portions; ",[82,802,803],{"class":148},"\u002F\u002F 8\n",[55,805,806,807,809],{},"Une boucle ",[25,808,35],{}," dont la condition ne devient jamais fausse tourne sans fin. Vérifie toujours qu'une variable change à chaque tour.",[10,811,813],{"id":812},"quelle-boucle-choisir","Quelle boucle choisir",[815,816,817,830],"table",{},[818,819,820],"thead",{},[821,822,823,827],"tr",{},[824,825,826],"th",{},"Besoin",[824,828,829],{},"Boucle",[831,832,833,843,852],"tbody",{},[821,834,835,839],{},[836,837,838],"td",{},"Parcourir tous les éléments d'un tableau",[836,840,841],{},[25,842,27],{},[821,844,845,848],{},[836,846,847],{},"Répéter un nombre de fois connu",[836,849,850],{},[25,851,31],{},[821,853,854,857],{},[836,855,856],{},"Répéter jusqu'à ce qu'une condition change",[836,858,859],{},[25,860,35],{},[10,862,864],{"id":863},"fonctions-utiles-sur-les-tableaux","Fonctions utiles sur les tableaux",[73,866,868],{"className":75,"code":867,"language":77,"meta":78,"style":78},"\u003C?php\n$ingredients = [\"farine\", \"oeufs\", \"lait\"];\n\nvar_dump(in_array(\"lait\", $ingredients)); \u002F\u002F bool(true)\necho implode(\", \", $ingredients);          \u002F\u002F farine, oeufs, lait\nsort($ingredients);                        \u002F\u002F trie par ordre alphabétique\n\n$majuscules = array_map('strtoupper', $ingredients);\n",[25,869,870,876,896,900,920,938,949,953],{"__ignoreMap":78},[82,871,872,874],{"class":84,"line":85},[82,873,89],{"class":88},[82,875,93],{"class":92},[82,877,878,880,882,884,886,888,890,892,894],{"class":84,"line":96},[82,879,100],{"class":99},[82,881,103],{"class":88},[82,883,106],{"class":99},[82,885,110],{"class":109},[82,887,43],{"class":99},[82,889,115],{"class":109},[82,891,43],{"class":99},[82,893,120],{"class":109},[82,895,123],{"class":99},[82,897,898],{"class":84,"line":126},[82,899,130],{"emptyLinePlaceholder":129},[82,901,902,905,908,910,912,914,917],{"class":84,"line":133},[82,903,904],{"class":92},"var_dump",[82,906,907],{"class":99},"(",[82,909,46],{"class":92},[82,911,907],{"class":99},[82,913,120],{"class":109},[82,915,916],{"class":99},", $ingredients)); ",[82,918,919],{"class":148},"\u002F\u002F bool(true)\n",[82,921,922,924,927,929,932,935],{"class":84,"line":152},[82,923,136],{"class":92},[82,925,926],{"class":92}," implode",[82,928,907],{"class":99},[82,930,931],{"class":109},"\", \"",[82,933,934],{"class":99},", $ingredients);          ",[82,936,937],{"class":148},"\u002F\u002F farine, oeufs, lait\n",[82,939,940,943,946],{"class":84,"line":166},[82,941,942],{"class":92},"sort",[82,944,945],{"class":99},"($ingredients);                        ",[82,947,948],{"class":148},"\u002F\u002F trie par ordre alphabétique\n",[82,950,951],{"class":84,"line":171},[82,952,130],{"emptyLinePlaceholder":129},[82,954,955,958,960,963,965,968],{"class":84,"line":278},[82,956,957],{"class":99},"$majuscules ",[82,959,103],{"class":88},[82,961,962],{"class":92}," array_map",[82,964,907],{"class":99},[82,966,967],{"class":109},"'strtoupper'",[82,969,970],{"class":99},", $ingredients);\n",[55,972,973,975,976,979,980,982,983,985],{},[25,974,46],{}," teste la présence d'une valeur, ",[25,977,978],{},"implode"," assemble un tableau en texte, ",[25,981,942],{}," trie le tableau en place. ",[25,984,49],{}," applique une fonction à chaque élément et renvoie un nouveau tableau.",[55,987,988,989,992,993,996],{},"Pour vérifier qu'une clé existe, ",[25,990,991],{},"isset"," ou ",[25,994,995],{},"array_key_exists"," conviennent :",[73,998,1000],{"className":75,"code":999,"language":77,"meta":78,"style":78},"\u003C?php\nif (isset($recette[\"photo\"])) {\n    echo $recette[\"photo\"];\n}\n",[25,1001,1002,1008,1026,1036],{"__ignoreMap":78},[82,1003,1004,1006],{"class":84,"line":85},[82,1005,89],{"class":88},[82,1007,93],{"class":92},[82,1009,1010,1013,1015,1017,1020,1023],{"class":84,"line":96},[82,1011,1012],{"class":88},"if",[82,1014,62],{"class":99},[82,1016,991],{"class":92},[82,1018,1019],{"class":99},"($recette[",[82,1021,1022],{"class":109},"\"photo\"",[82,1024,1025],{"class":99},"])) {\n",[82,1027,1028,1030,1032,1034],{"class":84,"line":126},[82,1029,611],{"class":92},[82,1031,283],{"class":99},[82,1033,1022],{"class":109},[82,1035,123],{"class":99},[82,1037,1038],{"class":84,"line":133},[82,1039,637],{"class":99},[55,1041,1042,1044,1045,36],{},[25,1043,991],{}," renvoie faux si la clé est absente ou vaut ",[25,1046,1047],{},"null",[1049,1050,1051],"tip",{},[55,1052,1053,1054,1057],{},"Pour une clé qui peut manquer, écris ",[25,1055,1056],{},"$recette[\"photo\"] ?? \"defaut.jpg\"",". Tu évites un avertissement et tu obtiens une valeur de secours.",[10,1059,1061],{"id":1060},"à-retenir","À retenir",[15,1063,1064,1070,1075,1080,1088,1099],{},[18,1065,1066,1067,1069],{},"Un tableau range plusieurs valeurs ; les positions commencent à 0, ",[25,1068,42],{}," donne la taille.",[18,1071,1072,1073,36],{},"Un tableau associatif repère ses valeurs par des clés avec ",[25,1074,319],{},[18,1076,1077,1079],{},[25,1078,27],{}," parcourt un tableau élément par élément, avec ou sans la clé.",[18,1081,1082,1084,1085,1087],{},[25,1083,31],{}," sert quand le nombre de tours est connu, ",[25,1086,35],{}," tant qu'une condition est vraie.",[18,1089,1090,43,1092,43,1094,32,1096,1098],{},[25,1091,46],{},[25,1093,978],{},[25,1095,942],{},[25,1097,49],{}," couvrent beaucoup de besoins courants.",[18,1100,1101,32,1104,1106],{},[25,1102,1103],{},"??",[25,1105,991],{}," évitent les erreurs sur une clé absente.",[1108,1109,1110],"style",{},"html pre.shiki code .sOnC1, html code.shiki .sOnC1{--shiki-light:#CF222E;--shiki-default:#FF7B72;--shiki-dark:#FF7B72}html pre.shiki code .s5iOY, html code.shiki .s5iOY{--shiki-light:#0550AE;--shiki-default:#79C0FF;--shiki-dark:#79C0FF}html pre.shiki code .scfrF, html code.shiki .scfrF{--shiki-light:#1F2328;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3}html pre.shiki code .shWOn, html code.shiki .shWOn{--shiki-light:#0A3069;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF}html pre.shiki code .sd6ml, html code.shiki .sd6ml{--shiki-light:#6E7781;--shiki-default:#8B949E;--shiki-dark:#8B949E}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":78,"searchDepth":96,"depth":126,"links":1112},[1113,1114,1115,1116,1117,1118,1119,1120,1121],{"id":12,"depth":96,"text":13},{"id":52,"depth":96,"text":53},{"id":197,"depth":96,"text":198},{"id":323,"depth":96,"text":324},{"id":447,"depth":96,"text":448},{"id":649,"depth":96,"text":650},{"id":812,"depth":96,"text":813},{"id":863,"depth":96,"text":864},{"id":1060,"depth":96,"text":1061},"Ranger plusieurs valeurs dans un tableau, y compris associatif, et les parcourir avec foreach, for et while.","md",{},[61,208,27,31,35,42,49,46],"debutant","\u002Fphp\u002Fboucles-et-tableaux",[1129],"\u002Fphp\u002Ftypes-et-chaines",[1131,1135],{"nom":1132,"url":1133,"type":1134},"Manuel PHP en français, les tableaux","https:\u002F\u002Fwww.php.net\u002Fmanual\u002Ffr\u002Flanguage.types.array.php","doc",{"nom":1136,"url":1137,"type":1138},"OpenClassrooms, Concevez votre site web avec PHP et MySQL","https:\u002F\u002Fopenclassrooms.com\u002Ffr\u002Fcourses\u002F918836-concevez-votre-site-web-avec-php-et-mysql","cours",{"title":5,"description":1122},[1141,1143],{"nom":1142,"url":1133},"Manuel PHP, tableaux",{"nom":1144,"url":1145},"Manuel PHP, structures de contrôle","https:\u002F\u002Fwww.php.net\u002Fmanual\u002Ffr\u002Flanguage.control-structures.php","php\u002F03.boucles-et-tableaux","LvoHKlxRyeVubG__LmfloDJ9et_nRjfJcjzEHuCrF_0",[1149,1153,1156,1157,1161,1165,1169],{"path":1150,"title":1151,"stem":1152},"\u002Fphp\u002Fpremiers-pas","Premiers pas en PHP","php\u002F01.premiers-pas",{"path":1129,"title":1154,"stem":1155},"Types, chaînes et conditions","php\u002F02.types-et-chaines",{"path":1127,"title":5,"stem":1146},{"path":1158,"title":1159,"stem":1160},"\u002Fphp\u002Ffonctions-et-objets","Fonctions et objets","php\u002F04.fonctions-et-objets",{"path":1162,"title":1163,"stem":1164},"\u002Fphp\u002Fformulaires","Formulaires et sécurité","php\u002F05.formulaires",{"path":1166,"title":1167,"stem":1168},"\u002Fphp\u002Fpdo-et-composer","Base de données avec PDO et Composer","php\u002F06.pdo-et-composer",{"path":1170,"title":1171,"stem":1172},"\u002Fphp","PHP","php\u002Findex",[1174,1176],{"title":1154,"path":1129,"stem":1155,"description":1175,"children":-1},"Découvrir les types de valeurs de PHP, manipuler des chaînes de caractères et prendre des décisions avec if et match.",{"title":1159,"path":1158,"stem":1160,"description":1177,"children":-1},"Écrire des fonctions typées avec strict_types, puis modeler tes données avec des classes, la promotion de propriétés et les espaces de noms.",[1179],{"path":1129,"title":1154,"ligne":77},[1181,1182,1183,1184,1186,1187,1189],{"path":1150,"title":1151,"niveau":1126,"stem":1152},{"path":1129,"title":1154,"niveau":1126,"stem":1155},{"path":1127,"title":5,"niveau":1126,"stem":1146},{"path":1158,"title":1159,"niveau":1185,"stem":1160},"intermediaire",{"path":1162,"title":1163,"niveau":1185,"stem":1164},{"path":1166,"title":1167,"niveau":1188,"stem":1168},"avance",{"path":1170,"title":1171,"niveau":1190,"stem":1172},"memo",1794583448427]