base64解码为PHP数组

时间:2014-06-19 12:31:35

标签: php arrays loops base64

我正在尝试为使用base64编码解析信息的客户端创建一个Web面板。我已经设置了解码它的方法,如果我回显循环中的解码部分($ data [1]),它将写出正确的信息。但是,我需要能够将信息放入SQL表并在执行之前对其执行操作。所以,我正在尝试将数据放入一个数组中,但由于某种原因它的作用就像数组一样。

$ postData具有base64解码信息,并使用&作为爆炸剂。

$tokens = array ();
for ($i = 0; count($postData) > $i; $i++) {
    $data = explode("=", $postData[$i]);
    $tokenAdd = array();
    $tokenAdd[] = $data[1];
    array_push($tokens, $tokenAdd);
}

var_dump($tokenAdd);

2 个答案:

答案 0 :(得分:2)

你是否真的倾倒正确的变量?因为每次迭代都会重写$ tokenAdd。

$tokens = array ();
for ($i = 0; count($postData) > $i; $i++) {
    $data = explode("=", $postData[$i]);
    // token is empty array;
    $tokenAdd = array();
    $tokenAdd[] = $data[1];
    // push array with one string element into $tokens
    array_push($tokens, $tokenAdd);
}
// dump $tokens, not $tokenAdd
var_dump($tokens);

为了简化代码,您可以尝试这个

$tokens = array();
foreach ($postData as $postDataItem) {
    $data = explode("=", $postDataItem);
    $tokens[] = array($data[1]);
}
var_dump($tokens); // array(array('containing'), array('some'), array('strings'))

甚至更简单,如果你没有处理数组数组和字符串数组

$tokens = array();
foreach ($postData as $postDataItem) {
    $data = explode("=", $postDataItem);
    $tokens[] = $data[1];
}
var_dump($tokens); // array('containing', 'some', 'strings')

答案 1 :(得分:0)

以下是一些代码:

$count = count ( $postData );
$tokens = array ();
for($i = 0; $i < $count; $i ++) {
    $data = explode ( "=", $postData [$i] );
    $tokens [$i] = $data [1];
}

var_dump ( $tokens );