从PHP文件将多个数组传递给JS

时间:2014-05-02 19:15:11

标签: javascript php jquery ajax arrays

我有一堆数据,我抓住了一个在几个arrray中设置的php文件。理想情况下,我想将所有这些传递给我的JS文件,然后获取每个数组并将其输出到网站的不同部分。我认为最简单的方法是将所有数组推送到一个数组中,然后在数据通过ajax传递后再获取特定数组。

这是我的PHP

$neighborhoodArray();
$areaArray();
$masterArray = array();

// Push info into 2 arrays
while($buildings = mysql_fetch_assoc($allBuildingsQuery)) {
   array_push($neighborhoodArray, $buildings['NEIGHBORHOOD']);
   array_push($areaArray, $buildings['AREA']);
}

while($apartments = mysql_fetch_assoc($allApartmentsQuery)) {
   array_push($neighborhoodArray, $apartments['NEIGHBORHOOD']);
   array_push($areaArray, $apartments['AREA']);
}

我希望能够用密钥而不是数字来识别每个数组,因为我最终会在这个主数组中添加更多东西

// parseValues is a function I set up to remove empty values and duplicates
$areaValues = array("Area" => parseValues($areaArray));
$neighborhoodValues = array("Neighborhood" => parseValues($neighborhoodArray));

array_push($masterArray, $areaValues);
array_push($masterArray, $neighborhoodValues);

$valuesForOutput = json_encode($masterArray);

echo $valuesForOutput;

理想情况下,我希望能够通过类似的内容将其放到页面的特定部分

$('.container').html(values.Area);
$('.different-container').html(values.Neighborhood);

这就是我对ajax调用的看法

$.ajax({
type: "GET",
url: "procceses/search-values.php?"+url,
datatype: "jsonp",
success: function(values){

  // AreaOnly = values['Area'];
  // AreaOnly = values.Area;

  console.log(values);
    }
});

我无法弄清楚如何导航从PHP文件返回的值。回复采用以下格式。区域和邻居来自我作为对象,但我希望它们是我可以迭代的数组。我也无法弄清楚如何抓住区域和邻居对象。

[
{
    "Area": {
        "0": "Brooklyn",
        "1": "Bronx",
        "2": "Queens",
        "3": "Out of Area",
        "7": "Manhattan"
    }
},
{
    "Neighborhood": {
        "0": "East Flatbush",
        "1": "Williamsbridge",
        "2": "Cambria Heights",
        "3": "Westchester",
     }
 }
]

1 个答案:

答案 0 :(得分:0)

通过使用array_push(),您可以使用数字索引在数组中添加额外的图层。

如果你想避免这种情况,你应该在php中填充数组:

$masterArray['Area'] = parseValues($areaArray);
// etc.

现在,您的Area对象位于:

values[0].Area
values[1].Neighborhood
// etc.