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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->sorders($value[0], $value[1], $value[2], $value[3]);
les variables sont issue de get au niveau de l'url

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$value = explode('|', $_GET['v']);
J'ai volontairement enlevé le nettoyage de GET pour simplifier et comprendre.

L'URL a cette forme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
static18/portail/download/&p=export&a=sorders&v=10205|10|1,2|1,2,3
Maintenant le problème

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.