我正在尝试为使用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);
答案 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 );