Tableau de chaînes

Exemple

Dans le dossier fonctions, ajoutez le fichier chaines.php

Réalisez les fonctions du fichier.

1
<?php
2
3
$tableau = (string)($_POST['tableau'] ?? '');
4
$tab = explode(',', $tableau);
5
$nombre1 = (int)($_POST['nombre1'] ?? 0);
6
$nombre2 = (int)($_POST['nombre2'] ?? 0);
7
$nombre3 = (int)($_POST['nombre3'] ?? 0);
8
9
// retourne la somme des tailles des mots : sommeTailles(['aa', 'bb']) => 4
10
function sommeTailles()
11
{
12
}
13
14
// retourne le plus long mot : plusLong(['aaa','bb']) => 'aaa'
15
function plusLong()
16
{
17
}
18
19
// retourne l'emplacement du plus court : plusCourt(['aaa','bb']) => 1
20
function plusCourt()
21
{
22
}
23
24
25
// retourne les mots plus longs que nombre caractères : motsPlusLongs(['a','bb','ccc'] ,1) => 'bb,ccc'
26
function motsPlusLongs()
27
{
28
}
29
30
// Echange l'emplacement des mots nombre1 et nombre2 => echangeMots(['a','b','c'], 0, 2) => ['c','b','a']
31
function echangeMots()
32
{
33
}
34
35
36
$exo1Afficher = sommeTailles($tab);
37
$exo2Afficher = plusLong($tab);
38
$exo3Afficher = plusCourt($tab);
39
$exo4Afficher = motsPlusLongs($tab, $nombre1);
40
$exo5Afficher = echangeMots($tab, $nombre1, $nombre2);
41
42
43
?>
44
<!DOCTYPE html>
45
<html lang="fr">
46
47
<head>
48
    <title>PHP Fonctions Chaines</title>
49
    <meta charset="UTF-8" />
50
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css" integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous">
51
</head>
52
53
<body>
54
55
    <form action="" method="post">
56
        <div class="m-3 p-3 row bg-secondary">
57
            <p>Entrer les variables</p>
58
            <div class="col-3 input-group mb-3">
59
                <span class="input-group-text">Tableau de mots</span>
60
                <input type="text" name="tableau" value="<?= $tableau; ?>" class="form-control" />
61
            </div>
62
            <div class="col input-group mb-3">
63
                <span class="input-group-text">Nombre1</span>
64
                <input type="text" name="nombre1" value="<?= $nombre1; ?>" class="form-control" />
65
            </div>
66
            <div class="col input-group mb-3">
67
                <span class="input-group-text">Nombre2</span>
68
                <input type="text" name="nombre2" value="<?= $nombre2; ?>" class="form-control" />
69
            </div>
70
            <div class="col input-group mb-3">
71
                <span class="input-group-text">Nombre3</span>
72
                <input type="text" name="nombre3" value="<?= $nombre3; ?>" class="form-control" />
73
            </div>
74
            <div class="col-auto">
75
                <button type="submit" class="btn btn-primary">Soumettre</button>
76
            </div>
77
        </div>
78
79
        <div class="m-3 p-3 row bg-secondary">
80
            <p>Affiche la somme des tailles des mots</p>
81
82
            <div class="col">
83
                <input type="text" value="<?= $exo1Afficher; ?>" class="form-control" readonly />
84
            </div>
85
        </div>
86
87
        <div class="m-3 p-3 row bg-secondary">
88
            <p>Affiche le plus long mot</p>
89
90
            <div class="col">
91
                <input type="text" value="<?= $exo2Afficher; ?>" class="form-control" readonly />
92
            </div>
93
        </div>
94
95
        <div class="m-3 p-3 row bg-secondary">
96
            <p>Affiche l'emplacement du plus court</p>
97
            <div class="col input-group mb-3">
98
                <input type="text" value="<?= $exo3Afficher; ?>" class="form-control" readonly />
99
            </div>
100
        </div>
101
102
        <div class="m-3 p-3 row bg-secondary">
103
            <p>Affiche les mots plus longs que nombre1 caractères</p>
104
            <div class="col input-group mb-3">
105
                <input type="text" value="<?= $exo4Afficher; ?>" class="form-control" readonly>
106
            </div>
107
        </div>
108
109
        <div class="m-3 p-3 row bg-secondary">
110
            <p>Echange l'emplacement des mots nombre1 et nombre2, et affiche le tableau</p>
111
            <div class="col input-group mb-3">
112
                <?php
113
                var_dump($exo5Afficher); ?>
114
            </div>
115
        </div>
116
    </form>
117
118
</body>