如何在PHP中创建二维数组并使用Javascript对其进行迭代

如何在PHP中创建二维数组并使用Javascript对其进行迭代,php,javascript,jquery,ajax,arrays,Php,Javascript,Jquery,Ajax,Arrays,我目前正在尝试执行以下操作: 从my image.js代码中请求一个PHP文件 在请求调用中,从mysql数据库中查询数据并保存 它位于PHP数组中 将数组作为JSON对象返回到image.js 我讨论了nr1+nr3-我所讨论的是如何将我的数据库属性正确地保存到PHP数组中,然后遍历json回调中的每条记录 数据库属性示例: 问题/挑战1:保存阵列(这是我不确定的) -下面的数组,将只是一个没有维度的“平面数组”,基于在单独的player\u id下保存所有相应的属性 为了提供一些上下文,并假

我目前正在尝试执行以下操作:

  • 从my image.js代码中请求一个PHP文件
  • 在请求调用中,从mysql数据库中查询数据并保存 它位于PHP数组中
  • 将数组作为JSON对象返回到image.js
  • 我讨论了nr1+nr3-我所讨论的是如何将我的数据库属性正确地保存到PHP数组中,然后遍历json回调中的每条记录

    数据库属性示例:

    问题/挑战1:保存阵列(这是我不确定的)

    -下面的数组,将只是一个没有维度的“平面数组”,基于在单独的
    player\u id
    下保存所有相应的属性

    为了提供一些上下文,并假设数组很好,我们在“下一步”将其发送回JS

    问题/挑战2:访问JS中的数组值(这是我不确定的)

    //保存数据
    var url=“request.php”//
    var请求=$.ajax({
    类型:“POST”,
    url:url,
    数据类型:“json”,
    数据:{user_id:id},
    成功:功能(数据)
    {
    //这里我们处理返回的数组
    if(返回的数据值){
    对于(变量i=0;i

    -因此,在这一部分中,我不确定如何实际处理PHP中的多维数组。我假设我们需要将其保存在Javascript数组中,然后我们可能可以通过foreach循环迭代/访问每个值-但再一次-我怎么不完全确定?

    我建议使用json\u encode:

    $myCallbackArray []= (object) array(
        "player_id" => '...',
        "player_name" => '...',
        "player_country" => '...',
        "player_image" => '...',
        "player_league" => '...'
    );
    
    $json = json_encode($myCallbackArray);
    
    $json实际上如下所示:

    [{"player_id":"...","player_name":"...","player_country":"...","player_image":"...","player_league":"..."}]
    

    这是有效的JSON,您可以轻松地在javascript中使用它。

    我认为您在success函数中访问数据是错误的,数据以数组的形式返回。下面是一个示例:

    var request = $.ajax({
        type: "POST",
        url: url,
        dataType: 'json',
        data: {user_id: id},
        success: function(data){
    
            var myval = data["returned_val"];
    
            alert(myval);
    
        },
        error:function() {
            //FAILURE
        }
    });
    

    我想这应该能回答你的问题!很抱歉,我不能评论rep还不够高!对于javascript部分,基本上使用
    For(;)
    循环遍历数组,使用
    For..in
    循环遍历对象。你需要的所有信息都在这里:
          //Save the data
        var url = "request.php"; //
    
          var request = $.ajax({
                 type: "POST",
                 url: url,
                 dataType: 'json',
                 data: { user_id: id},
    
                 success: function(data)
                 {
    
    //HERE WE HANDLE THE RETURNED ARRAY
    if(data.returned_val) {
    
                      for( var i = 0; i < data.returned_val.length; i++ ){
    //HERE I WOULD LIKE TO MAKE THE DIFFERENT ATTRIBUTES ACCESSABLE
                      } 
                 },
                 error:function() {
                    //FAILURE
                }   
    
    });
    return false;
    
    $myCallbackArray []= (object) array(
        "player_id" => '...',
        "player_name" => '...',
        "player_country" => '...',
        "player_image" => '...',
        "player_league" => '...'
    );
    
    $json = json_encode($myCallbackArray);
    
    [{"player_id":"...","player_name":"...","player_country":"...","player_image":"...","player_league":"..."}]
    
    var request = $.ajax({
        type: "POST",
        url: url,
        dataType: 'json',
        data: {user_id: id},
        success: function(data){
    
            var myval = data["returned_val"];
    
            alert(myval);
    
        },
        error:function() {
            //FAILURE
        }
    });