Он печатает просто «Массив», потому что, когда вы говорите
echo "$_GET[$field]";
PHP не может знать, что вы имеете в виду $_GET
элемент $field
, он видит его так, как вы хотите напечатать переменную $_GET
. Итак, он пытается распечатать его, и, конечно, это массив, так что вот что вы получаете. Обычно, когда вы хотите отобразить элемент массива, вы должны сделать это так:
echo "The foo element of get is: {$_GET['foo']}";
Фигурные скобки сообщают PHP, что все это переменная, которую нужно интерпретировать; в противном случае он будет принимать имя переменной $_GET
само по себе.
В вашем случае, хотя вам это не нужно, вам нужно:
foreach ($_GET as $field => $label)
{
$datarray[] = $label;
}
и если вы хотите распечатать его, просто сделайте
echo $label; // or $_GET[$field], but that's kind of pointless.
Проблема была не в вашем флеш-файле, измените его на прежний; Вы знаете, что это было правильно, потому что ваша переменная $ dataarray содержала все данные. Почему вы все равно хотите извлечь данные из $_GET
в другой массив?