2010-12-01 6 views
-1

J'ai essayé de faire somthing comme ça:accéder à une variable en utilisant un compteur dans le cadre du nom de la variable

$cat1 = array('hello', 'everyone'); 
$cat = array('bye', 'everyone'); 

for($index = 0; $index < 2; $index++) { 
echo $cat$index[1]; 
} 

Il ne fonctionne pas bien sûr. Que dois-je changer ici?

+1

Pourquoi n'êtes-vous pas en utilisant des tableaux imbriqués? –

+0

S'il vous plaît revenir à vos questions et marquez la meilleure réponse. Ce – Jonah

+1

est l'un de ces exemples où l'on * devrait * proposer une meilleure solution de rechange au lieu d'une réponse directe. –

Répondre

1

Vous devez utiliser des tableaux imbriqués, mais cela peut être fait.

$cat1 = array('hello', 'everyone'); 
$cat2 = array('bye', 'everyone'); 

for($i = 1; $i <= 2; $i++) { 
    echo ${'cat' . $i}[1]; 
} 

Référence: http://php.net/language.variables.variable

Ce serait beaucoup mieux si:

$cats = array(
    array('hello', 'everyone'), 
    array('bye', 'everyone') 
); 
foreach ($cats as $cat) { 
    echo $cat[1]; 
} 
+0

echo $ {$ var} [1]; et ça marche. Je vous remercie. – Luis

+0

Merci, j'ai corrigé cela. – Jonah

1

Est-ce ce que vous vouliez?

$cat0 = array('hello', 'everyone'); 
$cat1 = array('bye', 'everyone'); 

for($index = 0; $index < 2; $index++) { 
    $varname = 'cat'.$index; 
    echo $varname[0].' '.$varname[1]; 
} 
0

Pour écho des éléments à l'intérieur des tableaux, vous devez utiliser

echo $cat[$index]

avec votre exemple.

Je ne suis pas sûr de ce que l'$index[1] est censé faire? J'ai peut-être mal compris votre question.

0

Vous ne pouvez pas faire référence à $ indice comme ça, ce n'est pas un tableau.

echo $cat[$index]; 

est ce que vous voulez faire.

1

Si vous insistez à le faire de cette façon ...

echo ${'cat' . $index}[1]; 
Questions connexes