2014-02-06 3 views
0

бит новый для PHP Я немного поиграл с ним, но я не уверен, как назначить строковое значение массива переменной и распечатать его. В настоящее время он отображает только номер массива, а не данные.Присвоение значения массива переменной PHP

Любая помощь/объяснение оценили

Мой текущий код:

<?php 

$family_friends = array(); 

array_push($family_friends, "James "); 
array_push($family_friends, "Patrick"); 
array_push($family_friends, "Kevin"); 
array_push($family_friends, "Miles"); 
array_push($family_friends, "Reuben"); 

sort($family_friends); 


// Randomly select a winner! 

$winner = array_rand($family_friends, 1); 

// Print the winner's name in ALL CAPS 

strtoupper($winner); 


echo " ". "Congratulations"." ".($winner) . "!"; 

?> 
+0

http://us1.php.net/manual/en/language.types.array.php#language.types.array.syntax.accessing – vascowhite

+0

Это вопрос кажется вне темы, потому что, прочитав [manual] (http://us1.php.net/manual/en/language.types.array.php#language.types.array.syntax.accessing), вы предоставили бы ответ. – vascowhite

+0

@vascowhite - Я не видел это как одну из причин, связанных с консервами :-) –

ответ

4

array_rand возвращает случайный индекс, а не случайный элемент. Вам нужно индексировать в массив с его возвращаемым значением. Вам также необходимо присвоить значение переменной strtoupper. Итак:

strtoupper($winner); 

становится:

$winner = strtoupper($family_friends[$winner]); 
3

array_rand возвращает индекс, не элемент. Поэтому вам нужно выбрать элемент вашего массива со случайным индексом. Как это

strtoupper($family_friends[$winner]); 

Если $winner равна нулю, $family_friends[$winner] равно "Джеймс".

+0

Спасибо за помощь, поверьте, я понимаю, что это правильно теперь не осознало, что оно вернуло значение индекса, высоко ценится. – hmmm

Смежные вопросы