【发布时间】:2017-09-06 15:59:13
【问题描述】:
我正在构建一个电话簿应用程序,它将从我们的电话系统生成一个分机列表。电话系统有两个元素; “名称”和“扩展名”。我想把名字分成名字和姓氏。我已经用以下方法做到了:
list($ln,$fn) = explode(' ',$contact[1],2);
问题是,我想将 $ln 和 $fn 添加到由数据库查询形成的数组中。这样做的原因是因为我正在从数组中创建一个 json。我尝试了以下方法,但似乎没有将 fname 和 lname 元素添加到数组中:
$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));
这个数组的输出只返回数据库查询,如下所示:
Array
(
[0] => Array
(
[extension] => 1000
[name] => Extension 1
)
[1] => Array
(
[extension] => 1001
[name] => Extension 2
)
)
【问题讨论】:
-
请停止使用
mysql_DB 库。它在几年前就已停产和弃用,并在 PHP7 中完全删除,主要是由于安全问题。尽快切换到使用mysqli或PDO。 -
$contact的 值 会在您执行$contact_array[] = $contact;时添加到$contact_array。它不是通过引用添加的。