2011-04-22 52 views
0

我试图插入生成的字符串到后来被用于实施JSON数组的破灭问题将字符串到数组

产生的破灭字符串看起来像这样

'id' => $this->_SqlResult[0],'UserId' => $this->_SqlResult[1],'Msg' => $this->_SqlResult[2],'MsgStamp' => $this->_SqlResult[3] 

我会想用它在这个代码

$this->_JsonArr[]=array($Generated string); 

实现这样的

$this->_JsonArr[]=array('id' => $this->_SqlResult[0],'UserId' => $this->_SqlResult[1],'Msg' => $this->_SqlResult[2],'MsgStamp' => $this->_SqlResult[3]); 

代替我有像这样

$this->_JsonArr[]=array(" 'id' => $this->_SqlResult[0],'UserId' => $this->_SqlResult[1],'Msg' => $this->_SqlResult[2],'MsgStamp' => $this->_SqlResult[3]"); 

看起来像生成的字符串作为一个元素作为键和值的对治疗。 显然我可以得到预期的输出,因为这一点,任何人都可以帮助我这个

回答

1

为什么你需要内爆任何东西?只是通过数组:

$this->_JsonArr[] = your-non-imploded-array-here; 

我认为一个完整的解决方案,你想做的事是这样的(即你的问题的第三码箱):

$row = array(
    'id' => $this->_SqlResult[0], 
    'UserId' => $this->_SqlResult[1], 
    'Msg' => $this->_SqlResult[2], 
    'MsgStamp' => $this->_SqlResult[3] 
); 
$this->_JsonArr[] = $row; 
+1

我认为(只是疯狂的猜测)OP在json中提供数据时会感到困惑(因此将数组内嵌入字符串中)。因此,作为@zul不要忘记'echo json_encode($ this - > _ JsonArr)'输出带有数据的字符串。 – 2011-04-22 12:06:33

0

$此 - > _ JsonArr [] = array($ Generated string);

看起来你想要使用数组键和值,但我看你投入阵列纯字符串与期望阵列分析你的纯字符串格式:键=>值。

可以尝试像下面创建阵列:

$这 - > _ JsonArr [$ Generated_key] =阵列($ Generated_value);

(请纠正我,如果我错了解你的问题)。