1
 Array
(
    [0] => Array
        (
            [sno] => 1
            [name] => Sivamani
            [contact] => 750241378
            [$city] => Madurai
        )

)

Array
(
    [1] => Array
        (
            [sno] => 2
            [name] => Guru
            [contact] => 1111111111
            [$city] => Chennai
        )

)

这是我的 php print_r 数组我怎样才能获得数组长度并循环这些以在 javascript 中打印

4

4 回答 4

2

最好的办法是json_encode

PHP > JS:

echo json_encode($array);

在 JS 中:

var array = phpString;

基本上,在 PHP 中,在生成页面时,添加以下内容:

echo '<script type="text/javascript"> var phpArray = <?= json_encode($yourArray);?>;</script>';

并且您的 PHP 数组将作为全局(邪恶)变量提供...您也可以在 JS 模块中回显该值,并以更受控的方式公开它...但谷歌以获取更多详细信息.. .

无论如何,完成此操作后:

console.log(phpArray.length);
for (var i=0;i<phpArray.length;i++)
{
    //assoc arrays are objects in JS, hence:
    for(var j in phpArray[i])
    {
        if (phpArray[i].hasOwnProperty(j))
        {
            console.log(j + ' => ' + phpArray[i][j]);
        }
    }
}
于 2013-06-24T13:01:39.983 回答
0

尝试这个:

 var data = new Object();
    data["firstname"] = "John";
    data["lastname"] = "Bhutt";
    data["age"] = 29;

    alert(data.toSource()); //Will return "({firstname:"John", lastname:"Smith", age:21})"
于 2013-06-24T13:02:23.487 回答
0

我正在使用 PHP json_encode函数。所以你的代码应该是这样的:

echo json_encode($YOUR_ARRAY);

在客户端,你应该解析字符串,你会得到你的数组。我通常为此使用 jQuery。通过 AJAX 请求某些内容可能如下所示:

$.post(SCRIPT_URL, POST_PARAMS,
    function(response) {
    // YOUR ACTIONS HERE - response is your parsed ARRAY
    },
   'json'
);

您可以在此处找到有关 jQuery.post 方法的详细信息。

于 2013-06-24T13:11:03.230 回答
0

您可以使用console.log打印到控制台:(这是用于调试)

var a = [1, 2, 3];
console.log(a); // [1, 2, 3]

如果要对数组/对象进行字符串化,可以使用JSON.stringify:(这是将数据从前端传输到后端的好方法)

var a = [1, 2, 3];
JSON.stringify(a); // "[1, 2, 3]"

此外,如果您想美化字符串化,您可以使用 3. 参数JSON.stringify

JSON.stringify(obj, handler, spaces);
JSON.stringify([1, 2, 3], null, "\t");
JSON.stringify([1, 2, 3], null, "    ");
JSON.stringify([1, 2, 3], null, 2); 
于 2013-06-24T12:59:51.903 回答