使用base64_encode()和implode对值进行编码

时间:2014-06-12 10:38:10

标签: php

所以我正在创建一个应用程序,用户从选择框中选择多个值并提交这些值。在后端,需要在解码形式的URL中使用这些值。 所以假设,如果值是: -

Business
Study
Finance

所以不要像file.php那样发送它?cat = Business | Study | Finance,我希望这些所有类别都使用(base64_encode)编码,然后用分隔符 | 分隔。

我写了这个,但这并没有解决我的问题。

file.php?cat=<?php echo base64_encode(implode("|", $cat)); ?>

其中$ cat是我从选择框中收到选择的数组。 我该怎么做才能让它像我想要的那样工作?

欢迎任何建议。

2 个答案:

答案 0 :(得分:0)

<?php

$encodedCats = array();

foreach($cat AS $val){
  $encodedCats[] = base64_encode($val);
}

?>

file.php?cat=<?php echo implode("|", $encodedCats); ?>

答案 1 :(得分:0)

尝试

<?php $arr = array('Business','Study','Finance');?>
<a href="clone.php?cat=<?php echo base64_encode(implode("|", $arr)); ?>">click</a> 

获取值

$decode = base64_decode($_GET['cat']);
$arr = explode('|', $decode);
print_r($arr); //Array ( [0] => Business [1] => Study [2] => Finance )