将字符串插入数组时出错

时间:2011-04-22 11:52:07

标签: php arrays string implode generated

我正在尝试将一个内爆生成的字符串插入到一个数组中,然后用于json实现

implode生成的字符串看起来像这样

'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]");

看起来生成的字符串被视为一个元素作为键和值对。 显然我可以从mysql获得预期的输出因为这个,任何人都可以帮助我这个

2 个答案:

答案 0 :(得分: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 :(得分:0)

  

$这 - > _JsonArr [] =阵列($生成   串);

看起来你想要使用数组键和值,但正如我所见,你把它放入数组普通字符串,期望数组以格式解析你的普通字符串:keys =>值。

您可以尝试创建如下所示的数组:

  

$ this-> _JsonArr [$ Generated_key] = array($ Generated_value);

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