Bonjour,

J'ai déclaré un tableau d'objet, et quand j'appelle une méthode de la classe de l'objet contenu dans le tableau, j'ai une erreur de syntaxe. Voici la ligne posant problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$numpersonne = $this->personne[$n]->getnum();
et l'erreur retourné



Fatal error: Call to a member function getnum() on a non-object in /var/www/test/index.php on line 23



Voici ma classe entière si il y a besoin :

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 
include "class.personne.php";
 
 
class Liste
{
	private $personne = array();
	private $numdeSCD = array();
 
	public function recupnumdatebaserh() // récupération numero RH (7545) et date de départ
	{	
       $fichier = fopen("CHCM_Upload_Excel_Template_V2_0.csv", "r");
	   $n = 0;//indice du tableau personne
		$ligne = 0;
		while (($data = fgetcsv($fichier, 1000, ";")) !== FALSE) {
	        $num = count($data); //nombre de colonne dans le fichier
			  for( $c=0; $c < $num; $c++) {
 
				if ($c == 2 && !empty($data[$c]) && $ligne!==0){ // Si le curseur est positionné dans la colonne des numéros RH et que ce numéro n'est pas nulle
					$this->personne[$n] = new Personne(); //création d'un nouvel objet personne pour la nouvelle ligne
					$this->personne[$n]->setnum($data[$c]);
			    }	
				$numpersonne = $this->personne[$n]->getnum();	
				if($c==3 && !empty($numpersonne) && $ligne!==0){ // Si le curseur est positionné dans la colonne des GID de départ et que le numéro RH de la même ligne n'est pas nulle
					$this->personne[$n]->setgid($data[$c]);					
				}
                if($c==4 && !empty($numpersonne) && $ligne!==0){ // Si le curseur est positionné dans la colonne des noms de départ et que le numéro RH de la même ligne n'est pas nulle
					$this->personne[$n]->setnom($data[$c]);	
				}
				if($c==5 && !empty($numpersonne) && $ligne!==0){ // Si le curseur est positionné dans la colonne des prénoms de départ et que le numéro RH de la même ligne n'est pas nulle
					$this->personne[$n]->setprenom($data[$c]);	
				}
 
 
				if($c==27 && !empty($numpersonne) && $ligne!==0){ // Si le curseur est positionné dans la colonne des date de départ et que le numéro RH de la même ligne n'est pas nulle
					$this->personne[$n]->setdate($data[$c]);
 
				}
				if($c==36 && !empty($numpersonne) && $ligne!==0){ // Si le curseur est positionné dans la colonne des noms de départ et que le numéro RH de la même ligne n'est pas nulle
					$this->personne[$n]->setservice($data[$c]);	
				}
				if($c==37 && !empty($numpersonne) && $ligne!==0){ // Si le curseur est positionné dans la colonne des sponsor de départ et que le numéro RH de la même ligne n'est pas nulle
					$this->personne[$n]->setsponsor($data[$c]);	
					$n++; //vu que c'est le dernier champ de la ligne on peut changer de ligne
				}
 
			  }	
			  $ligne++;
 
 
		}
 
		fclose($fichier);
    }
	public  function recupnumSCD()
	{
		$fichier = fopen("scdexport_full.csv", "r");
		$n = 0;
		while (($data = fgetcsv($fichier, 1000, "!")) !== FALSE) {
	        $num = count($data);
 
			for ($c=0; $c < $num; $c++) {
				if ($c == 44 && !empty($data[$c])){
					$this->numdeSCD[$n]=$data[$c];
					$n++;
				}
 
 
			}
		}
		fclose($fichier);
	}
	public function compare()
	{
		$nbligneRH = count($this->personne);
		$nbligneSCD = count($this->numdeSCD);
		$today = date("Ymd");
		for($i=0;$i<$nbligneRH;$i++){
			$x=0;
			while($x<$nbligneSCD){
				if($this->personne[$i]->getnum() == $this->numdeSCD[$x])break;
				$x++;
				if($x == $nbligneSCD && $today < $this->personne[$i]->getdate())echo $this->personne[$i]->getnum()." : ".$this->personne[$i]->getdate()."<br/>";
			}
		}
 
 
 
 
 
	}
}
Avez-vous une idée ?
Merci ^^