PHP数组中的javascript变量用于jquery自动完成

php array in javascript variable for jquery autocomplete

本文关键字:jquery 用于 变量 数组 javascript PHP      更新时间:2023-09-26

我正在使用jquery自动完成,并试图定义自动完成选项的值。

我试图从php数组创建一个javascript变量。到目前为止我已经:

<?php
$usernames = get_records_sql("SELECT firstname,lastname FROM {$CFG->prefix}user ORDER BY lastname DESC");    
?>
<script language="javascript">
var names = ['<?php echo $usernames; ?>'];
</script>

我只需要将数组转换成这种格式

var names= ["firstname lastname", "firstname lastname", "firstname lastname"];
var names = [<?php 
    $tmp = Array();
    foreach($usernames as $row) $tmp[] = '"'.$row->firstname.' '.$row->lastname.'"'; 
    echo join(',', $tmp);
?>];

使用json_encode()函数将PHP数组编码为JavaScript数组

你可以根据你的要求修改下面的代码:

$arr = array();
// depending on the value get_records_sql() returns, you may have to modify
// this loop:
foreach($usernames as $row)
{
    $arr[] = $row['firstname'] . ' ' . $row['lastname'];
}
$output = json_encode($arr);

这应该可以工作(未经测试)

foreach ($usernames as $key => $row) {
    $user[] = $row['firstname'].' '.$row['lastname'];
}
echo "<script language='"javascript'">var names = ['" . implode(',',$user) . "'];</script>";

遍历行,将每个名称附加到数组$user,将数组内爆为字符串并输出