Попытка отправки массива через переменную GET, при выводе var соответствует строке 'Array' - PullRequest
0 голосов
/ 15 января 2010

Всякий раз, когда я создаю URL, т.е.

cart.php?action=add&p[]=29&qty[]=3&p[]=5&qty[]=13

и пытаюсь получить переменную p и переменную qty, = 'Array'

var_dump =

array(3) { ["action"]=>  string(3) "add" ["p"]=>  string(5) "Array" ["qty"]=>  string(5) "Array" } 

Я создаю половину URL с помощью PHP, а другая половина соединяется с Javascript.

1 Ответ

1 голос
/ 15 января 2010

P и QTY - это массивы, потому что вы создали их с использованием синтаксиса variable[]. И когда вы пытаетесь превратить массив в строку, PHP просто использует «Массив». Вывод чего-либо превращает его в строку, а затем печатает ее в строку.

[] говорит PHP о необходимости создания нового ключа в массиве и присвоении ему значения.

Если вы хотите получить доступ к значениям p, сделайте так:

foreach($_GET['p'] as $value)
{
     // $value is one of the values of the array, and it goes through all of them
}

foreach выполняет итерацию по всем значениям массива, где $value - значение текущего элемента, с которым вы работаете.

Если вы хотите получить доступ к первому значению, присвоенному p, используйте

echo $_GET['p'][0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...