我搜索了一下,我无法找到答案。
我正在为表单使用jQuery自动完成功能,可能的自动完成值来自数据库。
我有这个数组:
Array
(
[0] => Array
(
[kurssi] => Course 1
[0] => Course 1
[tuotekoodi] => Course1Code
[1] => Course1Code
)
[1] => Array
(
[kurssi] => Course2
[0] => Course2
[tuotekoodi] => Course2Code
[1] => Course2Code
)
[2] => Array
(
[kurssi] => Course3
[0] => Course3
[tuotekoodi] => Course3Code
[1] => Course3Code
)
)
我需要像这样(或者以jQuery Autocomplete接受它的形式):
var course = [
"Course1",
"Course2",
"Course3",
];
var code = [
"Course1Code",
"Course2Code",
"Course3Code"];
所以我必须从php数组中创建两个不同的javascript数组,但是如何?
答案 0 :(得分:0)
您必须使用json_encode()将PHP数组传输到Javascript。 JQuery有自己的JSON函数,用于将JSON字符串解码为Javascript对象。
答案 1 :(得分:0)
序列化或json_encode字符串。 jQuery提供了JSON解码方法(getJSON,parseJSON)。示例输出:http://phpfiddle.org/main/code/bpr-ndx
答案 2 :(得分:0)
以下是您需要做的事情: 1:你原来的阵列:
$arr = [
0=>["kursi"=>"Course1","tuotekodi"=>"Course1Code"],
1=>["kursi"=>"Course2","tuotekodi"=>"Course2Code"],
2=>["kursi"=>"Course3","tuotekodi"=>"Course3Code"]
];
2:根据需要转换数组以用于编码:
$toJson =array();
foreach ($arr as $key => $value) {
foreach($value as $k =>$v){
if(isset($toJson[$k])){
$toJson[$k][] = $v;
}else{
$toJson[$k] = array();
array_push($toJson[$k], $v);
}
}
}
3:结果:
var_dump(json_encode($toJson));