javascript - 从 PHP 返回二维数组到 JavaScript

标签 javascript php jquery

我的 JavaScript 调用 PHP 脚本,该脚本在磁盘上构建文件夹的二维数组。数组中包含文件夹名称、文件数和总大小,因此数组如下所示:

folders[$i][0] = $folder_name;
folders[$i][1] = $files_in_folder;
folders[$i][2] = $folder_size;

该调用是通过 JavaScript 进行的:

$.post('myajax.php', {op : get_folders'},       
                           function(responseTxt, statusTxt, xhr) {  
                           });

让 PHP 返回数组的最佳方法是什么,以及 JavaScript 或 jQuery 将数组返回到二维数组以便于访问的最佳方法是什么?

谢谢

最佳答案

JSON 是一种很好的方法,因为它是 JavaScript 中构建数据的事实上的标准。 PHP 数组可用于生成 JSON json_encode() .

使用 JSON API 最佳实践,以下是我构建 JSON 响应的方式:

{folders: [
 {name: 'Folder name', size: 513, numberOfFiles: 7},
 {name: 'Another folder', size: 1214, numberOfFiles: 34},
 etc...
]} 

myajax.php 中的代码如下:

<?php
$folderItems = array();

foreach($folders as $folder) {
  array_push($folderItems, array(
    "name" => $folder[0],
    "numberOfFiles" => $folder[1],
    "size" => $folder[2]
  ));  
}

echo json_encode(array("folders" => $folderItems));
?>

用于收集数据的 jQuery 代码是:

jQuery.getJSON('/myajax.php', function(data){
  var folders = data.folders;
  // Your code here...
});

关于javascript - 从 PHP 返回二维数组到 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26792576/

相关文章:

javascript - 合并未知数量的不重复的数组

javascript - 如何使用 javascript 在任何驱动器中创建文本文件

php - 如何根据opencart购物车页面上的产品类别计算折扣?

php - 您能向 PHP 人员解释 Perl 的哈希系统吗?

php - 同一张表中有多个外键

javascript - 如何扩展谷歌分析以跟踪 AJAX 等(根据 H5BP 文档)

javascript - ES6 : harmony-proxies: Why does `tracedObj.squared(9)` return undefined?

javascript - 如何将 HTML 字符串分割成多个片段并去掉外部标签?

javascript - 了解通过单击按钮而不是页面刷新来更新 d3.js

javascript - 左右箭头移出图像时不会淡出