Bonjour à tous,
Je rencontre un phénomène bizarre dont je n'arrive pas à comprendre le problème.
J'ai une fonction contenu dans une class dont j'ai volontaire simplifier le code
1 2 3 4 5 6 7 8
|
public function sorders($bpid, $limit, $ordsta, $dlvsta) {
echo 'id '.$bpid.'<br />';
echo 'limit '.$limit.'<br />';
echo 'ordsta '.$ordsta.'<br />';
echo 'dlvstat '.$dlvsta.'<br />';
} |
Je l'appel via
$this->sorders($value[0], $value[1], $value[2], $value[3]);
les variables sont issue de get au niveau de l'url
$value = explode('|', $_GET['v']);
J'ai volontairement enlevé le nettoyage de GET pour simplifier et comprendre.
L'URL a cette forme
static18/portail/download/&p=export&a=sorders&v=10205|10|1,2|1,2,3
Maintenant le problème
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| echo 'get : '.$_GET['v'];
get : 10205|10|1,2|1,2,3
print_r($value);
Array ( [0] => 10205 [1] => 10 [2] => 1,2 [3] => 1,2,3 )
// j'appelle ma fonction
$this->sorders($value[0], $value[1], $value[2], $value[3]);
echo 'id '.$bpid.'<br />';
echo 'limit '.$limit.'<br />';
echo 'ordstat '.$ordsta.'<br />';
echo 'dlvstat '.$dlvsta.'<br />';
id 10205
limit 10
ordstat 1
dlvstat 2 |
Pour ordstat et dlvstat il me garde uniquement le 1 et 2. Autant 1 je comprend c'est la première valeur de $ordstat qu'il considère comme un tableau car ayant la forme x, y, z (pourquoi pas). Mais 2 pour $dlvstat je vois d'où il le sort.
Avez-vous une idée ou une piste ?
Merci d'avance.
Partager