Je souhaite comparer 2 tableaux, et ne conserver que les valeurs du 1er qui ne soient pas dans le second; j'utilise donc array_diff.
Mais, sans doute n’ai je pas compris son utilisation car je n'obtiens pas ce que je souhaite; bien au contraire, puisque le nouveau tableau qui m'est renvoyé....est le 1er sans modification....
Le 1er tableau se présente ainsi:
Array
(
[0] => le chat
[1] => la lune
[2] => la vache
[3] => la lune
[4] => la chose
[5] => le machin
[6] => le vélo
[7] => la rivière
[8] => etc.
[9] => etc.etc.
[10] => etc.etc. etc.
)
Le second contient une ou plusieurs valeurs et se présente ainsi:
Array
(
[0] => la lune
[1] => la rivière
)
et le code utilisé est le suivant:
$text_restant = array_diff($tab_textes_origin, $les_textes);
Je fais un print_r($text_restant); et j'obtiens:
Array
(
[0] => le chat
[1] => la lune
[2] => la vache
[3] => la lune
[4] => la chose
[5] => le machin
[6] => le vélo
[7] => la rivière
[8] => etc.
[9] => etc.etc.
[10] => etc.etc. etc.
)
Soit, le 1er tableau inchangé...... Or, ne devrais je pas obtenir ce tableau "diminué" des valeurs trouvées dans le second? (ce que je voudrai...)
Les valeurs renvoyées sont des chaînes de caractères dans les 2 cas, et il est possible que certaines chaînes soient identiques dans chacun des tableaux.
J'ai (bien?) lu la doc, et bien noté que:
Il me semble que c'est le cas, cependant les valeurs du 1er tableau sont issues d'un fichier en .txt dont je passe chaque ligne dans le-dit tableau.Note:
Deux éléments sont considérés comme égaux si et seulement si (string) $elem1 === (string) $elem2. En clair : lorsque la représentation en chaîne de caractères est identique.
Ceci pourrait il expliquer cela?
La solution que j'utilise est elle la bonne?
Merci d'avance pour vos avis, pistes, conseils, etc...