0

我搜索了一下,我无法找到答案。

我正在为表单使用 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 数组,但是如何呢?

4

3 回答 3

0

您必须使用 json_encode() 将 PHP 数组传输到 Javascript。JQuery 有自己的 JSON 函数,用于将 JSON 字符串解码为 Javascript 对象。

于 2013-06-25T18:47:32.577 回答
0

序列化或 json_encode 字符串。jQuery 提供 JSON 解码方法(getJSON、parseJSON)。示例输出: http: //phpfiddle.org/main/code/bpr-ndx

于 2013-06-25T18:51:49.240 回答
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));

pdo 到 json

于 2013-06-25T19:20:20.670 回答