2015-05-30 3 views
3

Я извиняюсь заранее, потому что я очень новичок в программировании, и я спешу, чтобы получить это, поскольку я работаю в крайнем сроке, это также мой первый раз, используя эту веб-страницу или на самом деле любой Форум.Ошибка PHP при создании массива

Я должен создать простой массив и цикл на PHP, который хранит и печатает имя 3 теннисистов.

Мой код выглядит следующим образом:

html> 
 
    <head> 
 
    <title>Tennis Players Array</title> 
 
    </head> 
 
    <body> 
 
    <form action="" method="POST"> 
 
\t <input type="text" name="name"> 
 
\t <input type="submit" value = "submit"> 
 
</form> 
 
    <p> 
 
\t \t <?php 
 
\t \t \t $request = $_SERVER['REQUEST_METHOD']; 
 
\t \t \t $name = $_POST['name']; 
 
\t \t \t \t if ($request == 'GET') 
 
\t \t \t \t { 
 
\t \t \t \t \t // Do Nothing 
 
\t \t \t \t } 
 
\t \t \t \t else if ($request == 'POST') 
 
\t \t \t \t { 
 
\t \t \t \t \t $TennisPlayers = array("Roger Federer", "Rafael Nadal", "Novak Djokovic"); 
 
\t \t \t \t \t echo $TennisPlayers; 
 
\t \t \t \t } 
 
\t \t ?> 
 
\t </p> 
 
    </body> 
 
</html>

Я получаю сообщение об ошибке при выполнении кода:

«Примечание: Массив для преобразования строки в C: \ xampp \ htdocs \ Problem3 \ ProblemThree.php в строке 19 "

Строка 19 -

echo $TennisPlayers;

И это, вероятно, не будет единственной ошибкой, как только этот один исправляется.

Посмотрите, я понимаю, вы не дадите мне прямой ответ на этот вопрос, и я ценю, что, хотя мне бы очень хотелось помочь вам в этом. P.S Извините за такой вопрос новобранец. Спасибо! :)

+0

В чем Ваш вопрос? – Mat

+0

Вы пытаетесь напечатать 'array' как' string', почему вы получаете эту ошибку. Если вы хотите напечатать 'array', чем использовать' print_r ($ array); 'или' var_dump ($ array); ' –

+1

echo implode (',', $ TennisPlayers); – splash58

ответ

2

Его потому что вы не можете echo a array, для того чтобы напечатать ваш массив, вы должны использовать print_r или var_dump. Но в вашем случае, вы должны показать значения, так что вы можете использовать его как

echo implode(',',$TennisPlayers); 
+0

(_FYI: вы можете принять или перенести ответ, который поможет вам решить вашу проблему_) –

1

Вы не можете напечатать массив, вы должны цикла массив, чтобы получить каждый элементы:

foreach ($TennisPlayers as $single_player) { 

    echo $single_player . '<br>'; 

} 

Этот код будет print:

Roger Federer 
Rafael Nadal 
Novak Djokovic 
0

Вы должны использовать print_r или var_dump, если хотите показать массив. Вы не можете использовать эхо.

// doesn't work 
echo $TennisPlayers; 

// works 
var_dump($TennisPlayers); 

// works 
echo '<pre>'; 
print_r($TennisPlayers); 
echo '</pre>'; 
Смежные вопросы