Как передать значения массива в строке запроса в php

Мне нужна ваша помощь.,

Как передать значения массива в строке запроса …

<?php foreach ( $Cart->getItems() as $order_code=>$quantity ) : $pname[]= $Cart->getItemName($order_code); $item[]= $Cart->getItemPrice($order_code); $qty[]=$quantity; endforeach; ?> <form action='expresscheckout.php?amt=<?php echo $total_price; ?>&item_name=<?php echo $pname; ?>&unit=<?php echo $item; ?>&quan=<?php echo $qty; ?>' METHOD='POST'> <input type='image' name='submit' src='http://img.ruphp.com/query-string/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/> </form> 

Это мой пример кода., Для приведенного выше кода кода мне нужно передать строку запроса на моем URL-адресе действия, который является выражением expresscheckout.php? Amt = 100. и т. Д., Подпадают под $ pname [], $ item [], $ шт [].

Ожидание вывода в expresscheckout.php

expresscheckout.php? pname = product1, product2 & item = item1, item2 & qty = 1,2,3 …. как это ….

Заранее спасибо….

Solutions Collecting From Web of "Как передать значения массива в строке запроса в php"

В принципе, вам просто нужно использовать функцию implode PHP, чтобы превратить массив в список, разделенный запятыми. т.е. для массива $ item:

 $item = array('item1', 'item2'); echo implode(',', $item); 

Вывод:

 item1,item2 

Итак, что-то вроде этого должно печатать запрос, похожий на то, что вы хотите:

 echo 'pname='.implode(',', $pname). '&item='.implode(',', $item). '&qty='.implode(',', $qty); 

Чтобы передать значения массива, вы должны использовать []. Напр.

 <form method="post" action="path to script"> <input type="checkbox" id="colors[]" value="red" /> Red <input type="checkbox" id="colors[]" value="blue" /> Blue <input type="checkbox" id="colors[]" value="green" /> Green <input type="checkbox" id="colors[]" value="yellow" /> Yellow </form> 

И вам нужно использовать это в PHP

 $colors=$_POST['colors']; //takes the data from a post operation... $query=INSERT INTO colors VALUES('$colors'); 

Вам необходимо сериализовать массив

сериализация в php

Генерирует сохраняемое представление значения

Это полезно для хранения или передачи значений PHP без потери их типа и структуры.

Чтобы снова преобразовать сериализованную строку в значение PHP, используйте unserialize ().

ref: –

http://php.net/manual/en/function.serialize.php

http://www.php.net/manual/en/function.unserialize.php

пример

 $my_array= (array('val1', 'val2','val3'); server.php?query_string=serialize($my_array) 

на странице сервера

 $query_string= unserialize($_REQUEST['query_string']); 

Теперь он будет в формате массива

Я надеюсь, это поможет вам