2010-05-20 7 views
0

J'appelle cette fonction qui modifie un tableau par référence:PHP passe par référence

function addWord(&$words, $wordIndex, $word) 
{ 
$words[$wordIndex] = $word; 
} 

A l'appel de fonction,

addWord(&$words, $wordsIndex, $word); 

(mots $ est utilisé uniquement pendant l'appel de fonction)

ne fonctionne pas. Comment faire fonctionner cette fonctionnalité ou une fonctionnalité similaire? Je veux que l'addWord soit une fonction séparée.

+0

comment il ne fonctionne pas? pouvez-vous nous donner un message d'erreur ou un avertissement? – knittl

+0

Avez-vous essayé de 'echo' ou' var_dump' vos résultats pour voir s'ils sont corrects? –

+0

2 questions. 1: Est-ce que $ words est défini avant de l'envoyer à addWord() et à quoi est-il défini? 2: Quelle version de PHP – ircmaxell

Répondre

1

appeler votre fonction sans l'opérateur de référence:

$words = array(); 
addWord($words, $wordsIndex, $word); 
+0

Oui .. Cela fonctionne .. J'étais occupé à résoudre une simple faute de frappe en plus de cela. "$ words = array();" est ce qui me manquait. – Salil

0

Vous n'avez pas besoin de passer une perluète dans l'appel de fonction; seulement dans la déclaration de fonction.

+0

Désolé ... J'essayais un peu .. Les deux ne fonctionnaient pas réellement. Je ne reçois aucune erreur de php. – Salil

Questions connexes