[PHP] utiliser array

je dois pas avoir la bonne doc PHP, j’y comprends rien.
Mon code n’affiche pas le contenu de $champs[$num], les $donnees[‘Field’] s’affichent bien :

[code]<?php
class Membre {

function __construct(PDO $bdd){	
	$reponse = $bdd->query('DESCRIBE BFC');	
	while ($donnees = $reponse->fetch()){
		// $champs[] = $donnees['Field']; rien s'affiche par recup()
		array_push($champs, $donnees['Field']); // erreur $champs n'est pas un array
		echo '<p>champ : '.$donnees['Field'].'</p>'."\n\r";	
	}
	$reponse->closeCursor();		
}

function recup($num){
 	return $champs[$num];
}

private $champs;

}
?>[/code]

[code] <?php

		$toto = new Membre(base());
		echo $toto->recup(1);
		
	
	?>[/code]

vive les jours fériés

Met un $champs=array(); avant peut être

Quand je complète mon “private $champs;” en $champs = array();
ca change rien mais quand je mets $champs = array(); juste avant le push_array, ya plus l’erreur mais ça n’affiche toujours rien.
Est-ce qu’en plus de mon problème d’array, je ne comprends pas non plus le fonctionnement de la portée des variables membres dans le constructeur …?
edit : ou ces deux problèmes n’en sont qu’un je le sens bien

Les tableaux démarrent à 0 non?

À quoi sert cette fonction … ?

oui, et je sais qu’il doit contenir une dizaine de données. C’est un essai au pif

A me familiariser avec PHP. Un bête accesseur dans une bête classe, en JAVA ça serait déjà plié …
Là c’est galère et compagnie.

ben voilà, c’est tout c. comme j’imaginais : les données membres doivent précédées d’un $this
En java, le this me servait dans l’objet quand je passait un paramètre avec le même nom qu’une donnée membre, ça faisait la distinction entre les deux.
Je le saurai !
Merci !

Ouais, comme tu dit, c’est bête.
Tu ne devrais pas prendre exemple sur java;
php te permet de faire beaucoup plus: implémenter correctement le principe d’encapsulation, par exemple :slightly_smiling:

Je ne me permettrais pas de critiquer aucun langage vu mes connaissances, je disais simplement que ça devait être simple à résoudre.
D’autre part, il me semble que Java encapsule parfaitement. Et Java possède de vrais objets ArrayList, pas PHP (selon mes connaissances toujours).