将数组元素添加到由数据库查询形成的数组中

时间:2017-09-06 15:59:13

标签: php mysql arrays json

我正在构建一个电话簿应用程序,它将从我们的电话系统生成扩展列表。电话系统有两个要素; "名称"和"扩展"。我想将名字分为名字和姓氏。我已经通过以下方式完成了这项工作:

var URL = tabs.activeTab.url;

问题是,我想将$ ln和$ fn添加到由数据库查询形成的数组中。这是因为我从数组中创建了一个json。我尝试了以下内容,但它似乎没有将fname和lname元素添加到数组中:

list($ln,$fn) = explode(' ',$contact[1],2);

此数组的输出仅返回数据库查询,如下所示:

$contact_array = array();
while ($contact=mysql_fetch_array($QUERYresult))
{
 if(preg_match('/\s/',$contact[1]))
 {
  //$count++;
  $contact_array[] = $contact;
  list($ln,$fn) = explode(' ',$contact[1],2);
  $contact['fname'] = $fn;
  $contact['lname'] = $ln;
 }
 fwrite($myJSON, json_encode($contact_array));

1 个答案:

答案 0 :(得分:1)

问题似乎主要在于您已经将$ contact的原始版本传递到$ contact_array之后添加了这些值。因此,您添加的额外值不包含在其中。在执行$contact_array[] = $contact;之前尝试将这些行移到:

if(preg_match('/\s/',$contact[1]))
{
  //$count++;
  list($ln,$fn) = explode(' ',$contact[1],2);
  $contact['fname'] = $fn;
  $contact['lname'] = $ln;
  $contact_array[] = $contact;
}