Fonctions Internes
Exemple :
Dans le dossier fonctions, ajoutez le fichier internes.php
Réalisez les fonctions du fichier.
1
2
3
$tabNombres = (string)($_POST['tabNombres'] ?? '');
4
$listeNombres = array_map(
5
function ($value) {
6
return (int)$value;
7
},
8
explode(',', $tabNombres)
9
);
10
$tabMots = (string)($_POST['tabMots'] ?? '');
11
$listeMots = explode(',', $tabMots);
12
$tabAssoc1 = (string)($_POST['tabAssoc1'] ?? '');
13
$keys = array_map(
14
function ($value) {
15
return explode(':', $value)[0];
16
},
17
explode(',', $tabAssoc1)
18
);
19
$values = array_map(
20
function ($value) {
21
return explode(':', $value)[1] ?? '';
22
},
23
explode(',', $tabAssoc1)
24
);
25
$listeAssoc1 = array_combine($keys, $values);
26
$tabAssoc2 = (string)($_POST['tabAssoc2'] ?? '');
27
$keys = array_map(
28
function ($value) {
29
return explode(':', $value)[0];
30
},
31
explode(',', $tabAssoc2)
32
);
33
$values = array_map(
34
function ($value) {
35
return explode(':', $value)[1] ?? '';
36
},
37
explode(',', $tabAssoc2)
38
);
39
$listeAssoc2 = array_combine($keys, $values);
40
41
$nombre1 = (int)($_POST['nombre1'] ?? 0);
42
$nombre2 = (int)($_POST['nombre2'] ?? 0);
43
$nombre3 = (int)($_POST['nombre3'] ?? 0);
44
45
// Exercices
46
47
$exo1Afficher = '';
48
$exo2Afficher = '';
49
$exo3Afficher = '';
50
$exo4Afficher = '';
51
$exo5Afficher = '';
52
$exo6Afficher = '';
53
$exo7Afficher = '';
54
$exo8Afficher = '';
55
$exo9Afficher = '';
56
$exo10Afficher = '';
57
58
59
60
<html lang="fr">
61
62
<head>
63
<title>PHP Fonctions Internes</title>
64
<meta charset="UTF-8" />
65
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css" integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous">
66
</head>
67
68
<body>
69
<form action="" method="post">
70
<div class="m-3 p-3 row bg-secondary">
71
<p>Entrer les variables</p>
72
<div class="col-3 input-group mb-3">
73
<span class="input-group-text">Tableau de nombres (5,3,7...)</span>
74
<input type="text" name="tabNombres" value="= $tabNombres; " class="form-control" />
75
</div>
76
<div class="col-3 input-group mb-3">
77
<span class="input-group-text">Tableau de mots (aa,bb...)</span>
78
<input type="text" name="tabMots" value="= $tabMots; " class="form-control" />
79
</div>
80
<div class="col-3 input-group mb-3">
81
<span class="input-group-text">Tableau associatif 1 (a:abc,b:def...)</span>
82
<input type="text" name="tabAssoc1" value="= $tabAssoc1; " class="form-control" />
83
</div>
84
<div class="col-3 input-group mb-3">
85
<span class="input-group-text">Tableau associatif 2 (a:abc,b:def...)</span>
86
<input type="text" name="tabAssoc2" value="= $tabAssoc2; " class="form-control" />
87
</div>
88
<div class="col input-group mb-3">
89
<span class="input-group-text">Nombre1</span>
90
<input type="text" name="nombre1" value="= $nombre1; " class="form-control" />
91
</div>
92
<div class="col input-group mb-3">
93
<span class="input-group-text">Nombre2</span>
94
<input type="text" name="nombre2" value="= $nombre2; " class="form-control" />
95
</div>
96
<div class="col input-group mb-3">
97
<span class="input-group-text">Nombre3</span>
98
<input type="text" name="nombre3" value="= $nombre3; " class="form-control" />
99
</div>
100
<div class="col-auto">
101
<button type="submit" class="btn btn-primary">Soumettre</button>
102
</div>
103
</div>
104
105
<div class="m-3 p-3 row bg-secondary">
106
<p>Affiche la somme des nombres</p>
107
108
<div class="col">
109
<input type="text" value="= $exo1Afficher; " class="form-control" readonly />
110
</div>
111
</div>
112
113
<div class="m-3 p-3 row bg-secondary">
114
<p>Affiche le tableau de nombre</p>
115
116
<div class="col">
117
<input type="text" value="= $exo2Afficher; " class="form-control" readonly />
118
</div>
119
</div>
120
121
<div class="m-3 p-3 row bg-secondary">
122
<p>Affiche la somme des longueurs des mots de tableau de mots</p>
123
124
<div class="col">
125
<input type="text" value="= $exo3Afficher; " class="form-control" readonly />
126
</div>
127
</div>
128
129
<div class="m-3 p-3 row bg-secondary">
130
<p>Génère un tableau à partir du tableau de nombres :<br />
131
Les nombres pairs remplacés par 0, les impairs par 1</p>
132
<div class="col bg-light m-3 rounded">
133
var_dump($exo4Afficher);
134
</div>
135
</div>
136
137
<div class="m-3 p-3 row bg-secondary">
138
<p>Génère un tableau à partir du tableau de mots :<br />
139
Le contenu correspond aux longueurs des valeurs du tableau</p>
140
<div class="col bg-light m-3 rounded">
141
var_dump($exo5Afficher);
142
</div>
143
</div>
144
145
<div class="m-3 p-3 row bg-secondary">
146
<p>Génère un tableau à partir du tableau de nombres :<br />
147
garde seulement les valeurs impaires</p>
148
<div class="col bg-light m-3 rounded">
149
var_dump($exo6Afficher);
150
</div>
151
</div>
152
153
<div class="m-3 p-3 row bg-secondary">
154
<p>Fusionne les tableaux associatifs 1 et 2</p>
155
<div class="col bg-light m-3 rounded">
156
var_dump($exo7Afficher);
157
</div>
158
</div>
159
160
<div class="m-3 p-3 row bg-secondary">
161
<p>Génère un tableau à partir du tableau de nombres :<br />
162
Extrait une portion à partir du rang nombre1 et pour une longueur de nombre2 éléments</p>
163
<div class="col bg-light m-3 rounded">
164
var_dump($exo8Afficher);
165
</div>
166
</div>
167
168
<div class="m-3 p-3 row bg-secondary">
169
<p>Trie le tableau de mots par ordre croissant des longueurs des mots</p>
170
<div class="col bg-light m-3 rounded">
171
var_dump($exo9Afficher);
172
</div>
173
</div>
174
175
<div class="m-3 p-3 row bg-secondary">
176
<p>Affiche si nombre1 se trouve dans le tableau de nombres</p>
177
<div class="col bg-light m-3 rounded">
178
var_dump($exo10Afficher);
179
</div>
180
</div>
181
</form>
182
</body>
183
184
</html>