<?php
$array["a"] = "Thusitha";
$array["b"] = "Sumanadasa";
$array["c"] = "Lakmal";
$array["d"] = "Nanayakkara";
$str = serialize($array);
$strenc = urlencode($str);
print $str . "\n";
print $strenc . "\n";
?>
print $str . "\n";
dà a:4:{s:1:"a";s:8:"Thusitha";s:1:"b";s:10:"Sumanadasa";s:1:"c";s:6:"Lakmal";s:1:"d";s:11:"Nanayakkara";}
e
print $strenc . "\n";
dà
a%3A4%3A%7Bs%3A1%3A%22a%22%3Bs%3A8%3A%22Thusitha%22%3Bs%3A1%3A%22b%22%3Bs%3A10%3A%22Sumanadasa%22%3Bs%3A1%3A%22c%22%3Bs%3A6%3A%22Lakmal%22%3Bs%3A1%3A%22d%22%3Bs%3A11%3A%22Nanayakkara%22%3B%7D
Quindi, se si vuole passare questo $array
attraverso URL page_no_2.php
,
es: -
$url ='http://page_no_2.php?data=".$strenc."';
Per tornare alla matrice originale, deve essere urldecode()
, quindi unserialize()
, come questo in page_no_2.php:
<?php
$strenc2= $_GET['data'];
$arr = unserialize(urldecode($strenc2));
var_dump($arr);
?>
dà
array(4) {
["a"]=>
string(8) "Thusitha"
["b"]=>
string(10) "Sumanadasa"
["c"]=>
string(6) "Lakmal"
["d"]=>
string(11) "Nanayakkara"
}
ancora: D
fonte
2013-11-22 11:42:26
Perché non puoi passare in '$ _POST'? – random
Questo sembra davvero disordinato. Ma per quell'approccio deve essere. Un altro approccio, poco complicato, è assegnare 'query = array ('aParam' => json_encode ($ arrayOfValues))'. E che puoi passare in url più bello con 'url_encode (implode ('/', $ query))'. Url avrà l'aspetto 'www.esempio.it/aParam/[va1,val2, ...]'. Durante la ricezione devi json_decode il valore di aParam in array. –