PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 02-05-2015 22:30:58

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Simplication de code

Bonjour,
voilà j'ai un code qui fonctionne mais je me demande s'il n'y a pas un moyen plus simple de l'écrire.

 $arraySearch = explode(" ", $_GET['terms']);
                 if ($arraySearch[0] != "") {
        $searchresult = $arraySearch[0];
      }
      if ($arraySearch[1] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1];
      }
      if ($arraySearch[2] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1]." ".$arraySearch[2];
      }
      if ($arraySearch[3] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1]." ".$arraySearch[2]." ".$arraySearch[3];
      }
                        if ($arraySearch[4] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1]." ".$arraySearch[2]." ".$arraySearch[3]." ".$arraySearch[4];
      }
 

merci d'avance pour vos réponses

Hors ligne

#2 03-05-2015 08:03:52

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code

Bonjour,


          $arraySearch = explode(" ", $_GET['terms']);
          foreach ($arraySearch as $tsearchresult) {
              $searchresult .= $tsearchresult:
          }
 

à l'arrache wink

a++

Hors ligne

#3 03-05-2015 08:13:14

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

Salut et merci de ta réponse mais,
C'est trop à l'arrache ça marche pas smile smile
C'est quoi ce $tsearchresult ?

Dernière modification par shubnigg (03-05-2015 08:14:25)

Hors ligne

#4 03-05-2015 08:58:49

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code


<?php
  $_GET['terms']="toto tutu tata";
  $arraySearch = explode(" ", $_GET['terms']);
        foreach ($arraySearch as $tsearchresult) {
           $searchresult .= " $tsearchresult";
        }
  echo $searchresult
?>
 

cette fois ci, ça marche.
et avant, il fallait juste remplacer les : par ;

a++

Hors ligne

#5 03-05-2015 09:01:39

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code


<?php
  $_GET['terms']="toto tutu tata";
  $searchresult="";
        foreach ($arraySearch = explode(" ", $_GET['terms']) as $tsearchresult) {
           $searchresult .= " $tsearchresult";
        }
  echo $searchresult
?>
 

voilou, testé wink

a++

Hors ligne

#6 03-05-2015 10:00:15

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

merci,
le code fonctionne effectivement, mais pas tout a fait comme l'autre...
Du coup le résultat n'est pas le même avec ton script et le mien, je vais regarder cela de plus prêt

++

Hors ligne

#7 03-05-2015 10:49:51

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code

echo substr($searchresult,1,-1);

voilou, exactement comme ton script wink

a++

Hors ligne

#8 03-05-2015 11:39:25

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

Oui ça fonctionne mieux mais c'est pas ça sad

++

Dernière modification par shubnigg (03-05-2015 14:52:11)

Hors ligne

#9 03-05-2015 14:13:17

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code

comme je ne sais pas ce que tu veux exactement, j'peux rien dire wink
a++

Hors ligne

#10 03-05-2015 14:52:38

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

C'est pas grave merci quand même

Hors ligne

#11 03-05-2015 14:57:01

tof73
Membre
Inscription : 21-12-2014
Messages : 150
Site Web

Re : Simplication de code

une manière plus simple, c'est :
$searchresult = $_GET['terms'];


<?php
  $_GET['terms']="toto tutu tata";
  $searchresult="";
        foreach ($arraySearch = explode(" ", $_GET['terms']) as $tsearchresult) {
           $searchresult .= " $tsearchresult";
        }
  echo trim($searchresult);
  if($_GET['terms'] == trim($searchresult)){
    echo "<br />vive le code inutile";
  }
 
  $arraySearch = explode(" ", $_GET['terms']);
                 if ($arraySearch[0] != "") {
        $searchresult = $arraySearch[0];
      }
      if ($arraySearch[1] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1];
      }
      if ($arraySearch[2] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1]." ".$arraySearch[2];
      }
      if ($arraySearch[3] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1]." ".$arraySearch[2]." ".$arraySearch[3];
      }
                        if ($arraySearch[4] != "") {
        $searchresult = $arraySearch[0]." ".$arraySearch[1]." ".$arraySearch[2]." ".$arraySearch[3]." ".$arraySearch[4];
      }
  if($_GET['terms'] == $searchresult){
    echo "<br />vive le code inutile bis";
  }      
?>
 

Hors ligne

#12 03-05-2015 16:02:22

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code

bravo Tof lol

a++

Hors ligne

#13 03-05-2015 16:48:32

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

Bravo Tof ça marche !! Et merci


    foreach ($arraySearch = explode(" ", $_GET['terms']) as $tsearchresult) {
    $searchresult .= " $tsearchresult";
    }
    $searchresult = trim($searchresult);

Dernière modification par shubnigg (03-05-2015 16:49:53)

Hors ligne

#14 03-05-2015 19:11:56

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code

oui, ça marche big_smile
mais tout ce code ne sert à rien big_smile big_smile
tu ne vois pas que tu met une chaîne dans un tableau et que tu la remet en chaîne ???
quand je pense que c'est moi qui à fait ce script sans rien voir big_smile
ma vue baisse sad sad
c'est moi l'plus nulle !!!!

a++

Hors ligne

#15 03-05-2015 20:25:41

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

Pierrot a écrit :

mais tout ce code ne sert à rien big_smile big_smile

Je vois pas pourquoi tu dis cela...

Hors ligne

#16 03-05-2015 21:11:23

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code

ça va, je suis soulagé big_smile
y a plus nul que moi big_smile big_smile
a++

PS : parce que $searchresult est égale à $_GET['TERM'], donc le traitement ne sert a rien, il faut directement utiliser $_GET['TERM']  wink

Hors ligne

#17 03-05-2015 23:05:23

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

mouai...:|
Du coup si ce code ne sert à rien dis moi comment tu l'écrirais je verrais si cela fonctionne mieux... wink

foreach ($arraySearch = explode(" ", $_GET['terms']) as $tsearchresult) {
    $searchresult .= " $tsearchresult";
    }
    $searchresult = trim($searchresult);

Hors ligne

#18 03-05-2015 23:48:13

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 193

Re : Simplication de code

bah, tu n'écrit rien wink
tu utilises directement $_GET['TERM'] wink

a++

Hors ligne

#19 04-05-2015 00:20:53

shubnigg
Membre
Inscription : 02-05-2015
Messages : 9

Re : Simplication de code

OK big_smile
Mais je sais pourquoi je me suis acharné sur un code compliqué wink
Je faisais du cache et j'avais pas les résultats que je voulais...
merci wink

Dernière modification par shubnigg (04-05-2015 00:31:03)

Hors ligne

#20 05-06-2015 10:51:30

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 626
Site Web

Re : Simplication de code

Bonjour,

$arraySearch = explode(" ", $_GET['terms']);
$b=count($arraySearch); $searchresult='';
for($a=0;$a<$b;$a++){ if(strlen($arraySearch[$a])>0){$searchresult.=$arraySearch[$a];}}

Voilà en plus simple, mais question utilité fonctionnelle, ça frise la correctionnelle lol.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums