foreach после декодированной строки Base64 после использования $ _GET - PullRequest
0 голосов
/ 28 августа 2018

У меня проблема, когда информация POST в URL без кодирования все в порядке, и я могу использовать foreach для всей информации, потому что я получил его в виде массива

но при использовании GET и его декодировании информация преобразуется из массива в строку и больше не может использовать foreach (я пытаюсь снова закодировать его как json, но у меня ничего не получается).

У меня есть значение base64 в URL, как это

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 ✌

1 Ответ

0 голосов
/ 28 августа 2018

После декодирования ваша строка выглядит так:

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;
}

https://3v4l.org/TodEB

<li>username is brooks</li>
<li>color is blue</li>
<li>url is http://www.test.com/4142</li>

Хотя вам следует просто избегать того, что вы делаете, и передавать их в качестве параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...