Skip to content

Instantly share code, notes, and snippets.

@Manapyzz
Last active January 18, 2021 13:22
Show Gist options
  • Save Manapyzz/04e56378c8a8751a178b2793cf6b95e6 to your computer and use it in GitHub Desktop.
Save Manapyzz/04e56378c8a8751a178b2793cf6b95e6 to your computer and use it in GitHub Desktop.

PHP Remise à niveau

Tableau

Reproduire le tableau suivant:

$market = [ 'fruits' => [ 'strawberry' => 8, 'banana' => 4, 'apple' => 5, 'orange' => 3 ], 'totalFruits' => 20, 'totalPerFruits' => [8,4,5,3] ];

Afficher le nombre 3 du 'totalPerFruits'.

Afficher le nombre 8 de strawberry.

Afficher le 'totalFruits'.

Afficher toutes les clés dans 'fruits'.

Fonctions

Créer une fonction permettant de compter le nombre de lettre dans un mot. (strlen interdit bien sûr).

Créer une fonction permettant d'enlever un mot specifique dans une phrase. (même si ce mot apparait plusieurs fois).

Créer une fonction qui permet d'enlever tous les espaces d'une phrase.

Créer une fonction prenant un array (integers ou strings) qui retourne un tableau avec des éléments uniques. (ex: [1,2,2,3,4,4] donnera [1,2,3,4])

Form HTML

Faire un formulaire avec nom, prénom et age et lors de la validation du formulaire afficher "{{nom}} {{ prenom }} est majeur" ou "{{nom}} {{ prenom }} est mineur".

Mettre de la validation HTML.

Easy CRUD

Faire un CRUD tout simple pour des articles de blogs. Les articles de blogs comprendront: un nom, un texte, le nom de l'auteur ainsi que la date de création et d'édition.

Deviner un mot

Page de connexion / inscription. Page tableau des scores (afficher pseudo/nombre de partie gagnés) Lorsque l'on est connecté:

  • pouvoir ajouter des mots à la bdd
  • pouvoir faire une partie (5 essaies)
  • avoir un bouton pour relancer une partie Mettre également un footer qui se repète sur toutes les pages.

Correction

<?php

$market = [
    'fruits' => [
        'strawberry' => 8,
        'banana' => 4,
        'apple' => 5,
        'orange' => 3
    ],
    'totalFruits' => 20,
    'totalPerFruits' => [8,4,5,3]
];

var_dump($market['totalPerFruits'][3]);
var_dump($market['fruits']['strawberry']);
var_dump($market['totalFruits']);

foreach ($market['fruits'] as $fruit => $nbFruit) {
    var_dump($fruit);
} // on peut utiliser plus simplement array_keys

$myWord = 'rick';
$sentence = 'Do it Morty just do it !';
$numbers = [1,2,2,3,4,4];
$names = ['alex', 'gab', 'alex'];

function countLetters($word) {
    return count(str_split($word));
}

var_dump(countLetters($myWord));

function removeWord($sentence, $wordToRemove) {
    $words = explode(' ', $sentence);

    foreach ($words as $key => $word) {
        if (strtolower($word) === strtolower($wordToRemove)) {
            unset($words[$key]);
        }
    }

    return implode(' ', $words);
}

var_dump(removeWord($sentence, 'do'));

function removeSpaces($sentence) {
    return str_replace(' ', '', $sentence);
}

var_dump(removeSpaces($sentence));

function getUniqueValue($array) {
    $uniqueArray = [];

    foreach($array as $value) {
        if (!in_array($value, $uniqueArray)) {
            $uniqueArray[] = $value;
        }
    }

    return $uniqueArray;
}

var_dump(getUniqueValue($numbers));
var_dump(getUniqueValue($names));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment