We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
exercice 4:
$jour = 11;
$mois = 02;
$annee = 2020;
$res = checkdate($mois, $jour, $annee);
Exercice 6 solution :
function check_form($data) {
$tab_valid = array(
"nom"=>"#^[A-Za-z -]*$#",
"prenom" => "#^[A-Za-z -]*$#",
"CP" => "#^[0-9]{4}$#",
"naissance" => "#(^(((0[1-9]|1[0-9]|2[0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)#",
"banque" => "#^BE[0-9]{2}( ?[0-9]{4}){3}$#");
$tab_result = array();
foreach($data as $data_key => $data_value)
{
if(preg_match($tab_valid[$data_key], $data_value))
{
$tab_result[$data_key] = array("valide" => 1, "message"=> "le champ $data_key est valide");
}
else
{
$tab_result[$data_key] = array("valide" => 0, "message"=> "le champ $data_key n'est pas valide");
}
}
foreach($tab_result as $tab_result_value)
{
if(in_array(0, $tab_result_value,true))
{
$tab_result["valide"]= 0;
break;
}
else
{
$tab_result["valide"]= 1;
}
}
return $tab_result;
}
exercice 4
$jour = 27;
$mois=11;
$annee = 20;
if($jour==date('d') && $mois==date('m') && $annee==date('y')){
$res =true;
}else{
$res=false;
}
$res = checkdate($mois, $jour, $annee);
Exercice 1:
exercice2
foreach($tab as $key=>$val){
echo"$key:$val\n";
}
Exercice 3 :
Solution correcte mais refusée :
$var = !empty($var) ? 10 : $var ;
Exercice 5
if(array_key_exists($cle,$tableau))
{
$res = TRUE;
}
else
{
$res = FALSE;
}
$res = array_key_exists($cle,$tableau);
Bonjour pourquoi me prend t'il pas en réponse juste cette réponse ?
Alors que si mon ide aucune erreur avec le résultat demandé
foreach($tab as $keys => $value )
{
echo $keys .' : '.$value."\n";
}
Exercice 7 :
function distance($x1,$y1,$x2,$y2) {
$x = $x2-$x1;
$y = $y2 - $y1;
return sqrt(pow($x, 2)+ pow($y,2));
}
Solution Exercice 7 :
function distance($x1,$y1,$x2,$y2) {
$xs = $x2 - $x1;
$xs = $xs * $xs;
$ys = $y2 - $y1;
$ys = $ys * $ys;
return sqrt( $xs + $ys );
$mois="2";
$jour="29";
$annee ="2019";
$res = checkdate ($mois, $jour, $annee);
if($res)
{
return true;
echo "la date est correcte Le ".$jours.",".$mois.",".$annee;
}
return false;
exercice 3
$var = empty($var) ? 10 : $var ;
shorter form can be :
$var ?? 10
exercice 5
if (in_array($cle, array_keys($tableau))) {
$res=true;
}else{
$res=false;
}
Exercice 3, j ai mis comme réponse
j'ai success comme résultat mais on m'indique que 'La solution répond à la question mais une alternative ternaire est encore mieux adaptée' qlq'un peut me dire quel est la meilleure solution ?
hello, tu peux faire ça : $var = (empty($var)) ? 10 : $var);
$var = $var ?? 10;
La solution la plus simple à mon avis :)
mais CodinGame préfère l'alternative ternaire... ;( ???
[Resolved - Nombres premiers - Exo 9]
Bonjour, un drôle se cas:
Ma solution semble correcte, mais le bouton 'Exo suivant' reste inactif...
Une idée pour avoir la suite...?
=> C'est le dernier de la série!
[Exo 6] Champs naissance
Réponse obtenue:
Oops!
Les données (2) devrait être considéré comme invalide
Données (2): Information mal vérifiée pour naissance
Données (3): Information mal vérifiée pour naissance
Try Again 🐞
Où est l'erreur pour naissance, alors que c'est le même process utilisé (Usage du regex fourni) appliqué pour chaque cas (Exept CP)...?
function check_form($data)
{
$cvs = [
'nom' => '#^[A-Za-z -]*$#',
'prenom' => '#^[A-Za-z -]*$#',
'naissance' => '#^[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,4}$#',
'banque' => '#^BE[0-9]{2}( ?[0-9]{4}){3}$#',
];
foreach ($cvs as $cv => $kcv) {
$v[$cv]['valide'] = (bool) preg_match($kcv, $data[$cv]);
$v[$cv]['message'] = ($v[$cv]['valide']) ? ucfirst($cv).' est valide' : false;
}
$v['CP']['valide'] = (bool) ($data['CP'] > 999 && $data['CP'] < 1e4);
$v['CP']['message'] = ($v['CP']['valide']) ? 'CP est valide' : false;
$cvs['CP'] = '';
$v['valide'] =1;
foreach ($cvs as $kcv => $cv) {
$v['valide'] *= $v[$kcv]['valide'];
}
return $v;
}
Pour la date de naissance la regex ne suffit pas, il faut vérifier que l'on a une date valide (ex : on n'accepte pas le jour 32).
Chut
L'exercice 4 me rend fou, j'ai tout essayé, envoyez la solution SVP. personnellement j'ai essayé :$res = TRUE;
$date = new DateTime(''.$annee.'-'.$mois.'-'.$jour.'');
if (!$date) $res = FALSE;
et aussi dans un try catch mais il me met failure. si je mets un try le bloc catch crée un bug, si j'en mets pas ca crée un bug aussi. du coup je ne peux pas vérifier directement, je peux donc pas appeler les fonctions natives de date ????????????
Je me tape aussi des erreurs comme ceci, j'ai l'impression que l'exercice est buggé, sinon expliquez moi svp :
DateTime::__construct(): Failed to parse time string (2018-13-32) at position 6 (3): Unexpected characterTECHIO> success false
Pourquoi Unexpected characterTECHIO> success false ??????? ( pareil si j'utilise la fonction print )
Une possible solution:
$res = checkdate ($mois, $jour, $annee);
Bonjour,
Je me permet de laisser ce commentaire car je rencontre plusieurs soucis au niveau de l'exercice 6 sur les bases du PHP. Tout d'abord, j'ai eu plusieurs messages d'erreurs que vous trouverez ci-dessous :
https://uploads.disquscdn.c...
https://uploads.disquscdn.c...
Ensuite au niveau de la compréhension de l'énoncé sur la dernière partie concernant le tableau associatif à faire retourner par la fonction. J'ai un souci au niveau de cette partie. En effet, j'ai bien créé un tableau associatif qui se présente de la manière suivante :
$retour = array(
"valide" => TRUE,
"nom" => TRUE,
"prenom" => TRUE,
"CP" => TRUE,
"naissance" => TRUE,
"banque" => TRUE
);
Pour lequel ensuite je fais un return $retour. Mais cependant au niveau de la console, j'ai toujours le message suivant :
Données (1): Information manquante pour nom
Données (1): Information manquante pour prenom
Données (1): Information manquante pour CP
Données (1): Information manquante pour naissance
Données (1): Information manquante pour banque
Données (2): Information manquante pour nom
Données (2): Information manquante pour prenom
Données (2): Information manquante pour CP
Données (2): Information manquante pour naissance
Données (2): Information manquante pour banque
Données (3): Information manquante pour nom
Données (3): Information manquante pour prenom
Données (3): Information manquante pour CP
Données (3): Information manquante pour naissance
Données (3): Information manquante pour banque
Try Again 🐞
J'aimerai avoir vos lumières sur la manière de faire le retour de la fonction correctement. En vous remerciant par avance,
Cordialement,
Bonjour,
la résultat de retour doit etre comme ce format ci-dessous.
$retour = Array
(
[nom] => Array
(
[valide] => 1
[message] => nom est valide
)
[prenom] => Array
(
[valide] => 1
[message] => prenom est valide
)
[banque] => Array
(
[valide] => 1
[message] => banque est valide
)
[naissance] => Array
(
[valide] => 1
[message] => naissance est valide
)
[CP] => Array
(
[valide] => 1
[message] => CP est valide
)
[valide] => 1
)
Cordialement,
Bonjour,
Exercice 1, j'obtiens bien "SUCCÈS", mais aussi la mention: "La solution répond à la question mais il y a moyen de faire mieux."
Excepté pour $d, difficile de se tromper pour les 3 premières réponses...
Donc, sans donner la solution totale de l'exercice, j'ai proposé pour cette partie du test :
$d = array_map(function ($v) {return $v**2; }, range(0, 5));
Quel serait une solution plus efficace ?