Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb avec les fonction array

4 réponses
Avatar
jp.witz
Lorsque j'utilise ceci
$os= array("un","deux","trois");
if (in_array("deux",$os))... la fonction marche et me rend "vrai"

Mais si j'utilise
$os[]="un";
$os[]="deux";
$os[]="trois";
if (in_array("deux",$os))... la fonction ne marche pas et ne me donne
rien!!

C'est pourtant également une tableau!!

J'ai utilisé
$os=array();
array_unshift($os,"un");
array_unshift($os,"deux");
array_unshift($os,"trois");
if (in_array("deux",$os))... la fonction ne marche pas non plus et ne me
donne rien!!

qq1 aurait-il une explication.... et une solution

Merci

JP

4 réponses

Avatar
jp.witz
"jp.witz" a écrit dans le message de
news:ci9sbf$crr$
Lorsque j'utilise ceci
$os= array("un","deux","trois");
if (in_array("deux",$os))... la fonction marche et me rend "vrai"

Mais si j'utilise
$os[]="un";
$os[]="deux";
$os[]="trois";
if (in_array("deux",$os))... la fonction ne marche pas et ne me donne
rien!!

C'est pourtant également une tableau!!

J'ai utilisé
$os=array();
array_unshift($os,"un");
array_unshift($os,"deux");
array_unshift($os,"trois");
if (in_array("deux",$os))... la fonction ne marche pas non plus et ne me
donne rien!!

qq1 aurait-il une explication.... et une solution

Merci

JP


J'ai essayé les scripts ci-dessus... et ils fonctionnent tous!!!!
J'ai voulu simplifier mon problème. Je l'expose donc tel quel:
J'ai un tableau contenant des noms
$txtref[]="Pierre Richard";
$txtref[]="Jacques Pierre";
$txtref[]="Jules Renard";

Ces noms se trouvent également dans une bdd mysql
Je veux comparer le contenu du tableau à cette table pour trouver quels sont
les noms qui s'y trouvent
Après avoir effectué la requête, voici la suite du script

while ($row = mysql_Fetch_Array($id)) {
$g=trim($row[1]);echo "****".$g."****";
if (in_array($g, $txtref)){
echo "ooooo".$g."ooooo<br>n";
}
}

Les echo sont là pour vérification.
Résultat: il m'affiche TOUT les noms qu'ils soient dans le tableau ou
non!!!!!
??????
Merci
JP

Avatar
FAb
"jp.witz" writes:

Lorsque j'utilise ceci
$os= array("un","deux","trois");
if (in_array("deux",$os))... la fonction marche et me rend "vrai"

Mais si j'utilise
$os[]="un";
$os[]="deux";
$os[]="trois";
if (in_array("deux",$os))... la fonction ne marche pas et ne me donne
rien!!


Va falloir m'expliquer :

<?php

$os = array("un","deux","trois");
if (in_array("deux",$os)) {
echo '1: OK';
}

$os2[]="un";
$os2[]="deux";
$os2[]="trois";
if (in_array("deux",$os2)) {
echo '2: OK';
}

echo "--n";
var_dump($os);
echo "--n";
var_dump($os2);
echo "--n";

?>

1: OK2: OK--
array(3) {
[0]=>
string(2) "un"
[1]=>
string(4) "deux"
[2]=>
string(5) "trois"
}
--
array(3) {
[0]=>
string(2) "un"
[1]=>
string(4) "deux"
[2]=>
string(5) "trois"
}
--

Il est où le problème ?

Cordialement
FAb

Avatar
Marc
Lorsque j'utilise ceci
$os= array("un","deux","trois");
if (in_array("deux",$os))... la fonction marche et me rend "vrai"

Mais si j'utilise
$os[]="un";
$os[]="deux";
$os[]="trois";
if (in_array("deux",$os))... la fonction ne marche pas et ne me donne
rien!!

C'est pourtant également une tableau!!

J'ai utilisé
$os=array();
array_unshift($os,"un");
array_unshift($os,"deux");
array_unshift($os,"trois");
if (in_array("deux",$os))... la fonction ne marche pas non plus et ne me
donne rien!!

qq1 aurait-il une explication.... et une solution

Merci

JP



moi ce code marche nickel :

<?php

error_reporting(E_ALL);

$os[]="un";
$os[]="deux";
$os[]="trois";
if (in_array("deux",$os))
echo "okn";

echo "<pre>n";
print_r($os);
echo "</pre>n";

?>

ce qui donne :

ok

Array
(
[0] => un
[1] => deux
[2] => trois
)

Avatar
P'tit Marcel
J'ai essayé les scripts ci-dessus... et ils fonctionnent tous!!!!
J'ai voulu simplifier mon problème. Je l'expose donc tel quel:
J'ai un tableau contenant des noms
$txtref[]="Pierre Richard";
$txtref[]="Jacques Pierre";
$txtref[]="Jules Renard";



est ce que tu es sûr que le tableau ne contient que ces 3 valeurs ?
Autrement dit, as tu initialisé le tableau avant usage :
$txtref=array();

que donne un print_r($txtref);