php - 使用 $_GET 后 foreach 解码的 Base64 字符串
问题描述
我有问题,当在没有编码的情况下在 URL 中发布信息时,一切都很好,我可以将 foreach 用于所有信息,因为我将它作为数组获取
但是当使用 GET 并对其进行解码时,信息会从数组转换为字符串,并且不能再使用 foreach,(我尝试再次将其编码为 json,但我失败了)。
我在这样的 URL 中有 base64 值
http://www.test.com/index.php?info=dXNlcm5hbWU9PmJyb29rcwpjb2xvcj0+Ymx1ZQp1cmw9Pmh0dHA6Ly93d3cudGVzdC5jb20vNDE0Mg==
我$info = base64_decode($_GET['info']);
用来获取和解码
我想像这样把它放在里面echo <li>$info_key is $info_value</li>
注意:解码时你会看到我在键和值之间使用 =>,并为每个数组使用返回线,也许我可以使用 PHP_EOL 来拆分或收集
另一个注意:我不知道会从 url 获得多少值,因为我需要使用 foreach 循环所有收集的值
谢谢stackoverflow社区✌</p>
解决方案
解码后,您的字符串如下所示:
username=>brooks
color=>blue
url=>http://www.test.com/4142
foreach
用于循环迭代,因此您需要将其解析为数组。
<?php
$str = base64_decode('dXNlcm5hbWU9PmJyb29rcwpjb2xvcj0+Ymx1ZQp1cmw9Pmh0dHA6Ly93d3cudGVzdC5jb20vNDE0Mg==');
$lines = explode(PHP_EOL, $str);
foreach ($lines as $line) {
$line = explode('=>', $line);
echo '<li>'.$line[0].' is '.$line[1].'</li>'.PHP_EOL;
}
<li>username is brooks</li>
<li>color is blue</li>
<li>url is http://www.test.com/4142</li>
虽然你应该避免你正在做的事情并将它们作为参数传递。
推荐阅读
- python - '-' 的类型错误
- python - 获取包含 HTML 标签之外的匹配字符串的数组 - Python
- android - 从 Playstore 安装应用后获得推荐值
- python - Python 时间序列预测(销量)
- debugging - 如何将 Go 从 1.10 降级到 1.9?
- java - 如何在 Spring Boot 中使用 MySql 数据库查询?
- node.js - 尝试访问数据库和身份验证时 Firebase 初始化错误
- amazon-web-services - AWS DynamoDB 在本地开发环境的配置中缺少凭证
- android - 如何使用 Intent 从 WebView 拨打电话
- python - Python:将列表转换为数据框中的列