Page 1 sur 1

array_search

Posté : 26 déc. 2014, 12:58
par gregenforce7
Bonjour à tous,

Çà fait plusieurs heures que je tourne en rond et je n'arrive toujours à faire fonctionner ce script :-(

Voila , je veux simplement rechercher une donnée dans un tableau et supprimer la ligne. Je crée mon tableau depuis un fichier et puis je supprime les espaces en début de chaine.
le code est commenter ;-)
    $section = file('slide-carton.html'); //fichier dans un tableau
    $section_sans_espace = array(); //deuxime tableau pour ltrim
    var_dump($section);

    foreach($section as $value){

    $section_sans_espace[] = ltrim($value); // on retire les espaces vide en début de chaine
    }


    echo '</br></br></br></br>';
    var_dump($section_sans_espace);



    $key1 = array_search('6', $section_sans_espace,true); // je recherche la valeur 6
    unset($section_sans_espace[$key1]); // je supprime via l'index
    var_dump($section_sans_espace);


    file_put_contents('slide-carton.html', $section_sans_espace) // réécrit le fichier

Mon soucis est que pour chaque essai il me supprime la première ligne de mon fichier et rien d'autres !

Merci pour votre aide

Re: array_search

Posté : 26 déc. 2014, 13:24
par tof73
que vaux $key1 avant la ligne unset ?

Re: array_search

Posté : 26 déc. 2014, 13:37
par gregenforce7
J'ai essayé

echo array_search('6', $section_sans_espace,true);

Mais ca n'affiche rien :(

Re: array_search

Posté : 26 déc. 2014, 17:31
par sirakawa
J'ai testé:
<?PHP
 //$section = file('slide-carton.html'); //fichier dans un tableau
$section = array ('les jeunes', ' gaga  ', '   6');
    $section_sans_espace = array(); //deuxième tableau pour ltrim
   // var_dump($section); ok

    foreach($section as $value){

    $section_sans_espace[] = ltrim($value); // on retire les espaces vides en début de chaine
    }


    echo '</br></br></br></br>';
   // var_dump($section_sans_espace);ok



    $key1 = array_search('6', $section_sans_espace,true); // je recherche la valeur 6
var_dump($key1);
    unset($section_sans_espace[$key1]); // je supprime via l'index
    var_dump($section_sans_espace);

?>
Ca fait ce que tu veux mais si tu as ces valeurs :
$section = array ('les jeunes', ' gaga ', ' 6 '); //avec des espaces après ou du texte...
array_search rend false et le unset ne fait rien.