javascript - PHP Javascript - 数组多维错误

标签 javascript php arrays

实际上,我在 PHP 中创建一个数组,然后将其传递给 JavaScript 函数。

到目前为止一切顺利。函数接收的数组如下:

[[{"firstname": "Micheal", "lastname": "Brown"}], [{"car": "Ford", "model": "Fiesta"}]]

我的问题是获取所有第一个数组,即:{"firstname": "Micheal", "lastname": "Brown"}

还有第二个数组:{"car": "Ford", "model": "Fiesta"}

我尝试使用 alert (array [0]) 但它只显示了这个 [

我该怎么做?

我来解释一下:

这是我的 php 文件:

class UserClasses
{
     public $firstname;
     public $lastname;
}

class CarClasses
{
     public $car;
     public $model;
}

if(isset($_POST['name'])){
     populate($_POST['name']);
}

function populate(){
//I abbreviated the function for simplicity

   $arrayUser = array();
   $arrayCar = array();

   $user = new UserClasses();
   $user->firstname = "Micheal";
   $user->lastname = "Brown";
   array_push($arrayUser, $user);

   $car = new CarClasses();
   $car->car = "Ford";
   $car->model = "Fiesta";
   array_push($arrayCar, $car);
   $arrayFinal = array($arrayUser, $arrayCar);

   print json_encode($arrayFinal);
}

这是 javascript 中的函数:

//Ajax for calling php function
$.post('Classes.php', { name: name }, function(data){
    var array = JSON.parse(data);
    var arrayT = array[0];
    alert(arrayT);
});

最佳答案

以下是您的代码所发生的情况:您正在访问 JSON 字符串的第一个元素,因此我猜测您将获得其第一个字符:[

在访问字符串之前,您需要将其转换为实际的数组!

使用JSON.parse :

The JSON.parse() method parses a JSON string, constructing the JavaScript value or object described by the string.

- MDN web docs

例如你可以这样做:

const json = '[[{"firstname": "Micheal", "lastname": "Brown"}], [{"car": "Ford", "model": "Fiesta"}]]'

// that's what you have
console.log(json[0])

// that's what you want
array = JSON.parse(json)
console.log(array[0])

关于javascript - PHP Javascript - 数组多维错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50835441/

相关文章:

php - 如何在mysql数据库中插入json数据的特定元素

php - 如何使用 PHP + JS +(MySQL?)+(AJAX?)进行快速、轻量级、经济的在线聊天

php - Advanced Rest 客户端中的数据数组响应无效

具有显式构造函数的不可复制类型的 C++11 数组初始化

javascript - 缺少数组

c++ - 如何对数组 int (*&Test)[10] 进行赋值?

javascript - Ionic4+VueJS 汉堡菜单

javascript - 又是: how can I read a file using javascript

javascript - 缩小所有图像 - Grunt

javascript - 哪一种是最快的方法