Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中正确构建数组并在JavaScript/jQuery中获取值_Php_Arrays_Jquery - Fatal编程技术网

如何在PHP中正确构建数组并在JavaScript/jQuery中获取值

如何在PHP中正确构建数组并在JavaScript/jQuery中获取值,php,arrays,jquery,Php,Arrays,Jquery,从数据库查询中,我得到一条返回字段/值的记录,并将其放入数组中: $arr = array(); while ($rowSearchZipCode = mysqli_fetch_array($resultSearchZipCode, MYSQLI_ASSOC)) { $arr[] = $rowSearchZipCode; } 我将通过php脚本的回音将其发送回jQuery ajax调用: echo print_r($arr); 在$.ajax的success参数中的警报框中显示该数组

从数据库查询中,我得到一条返回字段/值的记录,并将其放入数组中:

$arr = array();
while ($rowSearchZipCode = mysqli_fetch_array($resultSearchZipCode, MYSQLI_ASSOC)) {
    $arr[] = $rowSearchZipCode;
}
我将通过php脚本的回音将其发送回jQuery ajax调用:

echo print_r($arr);
在$.ajax的success参数中的警报框中显示该数组表明,我得到的多维数组如下所示:

Array
(
[0] => Array
    (
        [id] => 55
        [branchName] => SBN - Some Branch Name
        [branchAddress1] => 1234 Elm St.
        [branchAddress2] => Suite 000
        [branchAddressCity] => Anywhere
        [branchAddressState] => CA
        [branchAddressZip] => 55000
        [branchAddressPhone] => 555-555-5555
        [branchAddressFax] => 555-555-4444
    )

)
1
问题1:我是否在while循环中正确构建了阵列

问题2:在$.ajax调用中,如何从数组中获取字段/值对,以便将它们输出到HTML标记等

Question 1: Am I building the array correctly in the while loop?

在进行如下AJAX调用时,可以在发送数组之前使用

echo json_encode($arr);
在AJAX调用的success函数中使用jQuery解码数组。使用首选循环在阵列中循环

例如:

JSON(JavaScript对象表示法)是一种轻量级数据交换格式

问题1:我是否在while循环中正确构建了阵列

问题2:在$.ajax调用中,如何从数组中获取字段/值对,以便将它们输出到HTML标记等

Question 1: Am I building the array correctly in the while loop?
不要使用打印,请使用。JSON是JavaScript的一个子集,JQuery.ajax将为您提供随时可用的JavaScript对象作为响应。要强制执行此操作,请在AJAX选项中添加
dataType:'json'
,并在回显json之前使用PHP发送正确的内容类型头:

header('Content-type: application/json');
PHP方面:

  • 别忘了发送正确的JSON标头,其中包含:

    header('Content-Type: application/json');
    
  • 并在回显数组之前使用json_encode对数组进行编码:

    echo json_encode($myarray);
    
客户端使用:

$.ajax({
    url: '<url>',
    dataType: "json", //optionnal if you correctly set the header
    success: function(data){
        for (var i in data) {
            console.log(data[i]); //data[i] are JS object
        }
    }
});
$.ajax({
url:“”,
数据类型:“json”//optionnal,如果您正确设置了头
成功:功能(数据){
用于(数据中的var i){
log(数据[i]);//数据[i]是JS对象
}
}
});

@Jalis这给了我控制台中的数组数据,所以我在success函数中成功地解析了它,但是由于我知道字段名(branchAddress1、branchName等),我可以用它们从数组中获取它的关联值吗?抱歉,是的。还有一个“但是如果”:我能在不循环数组的情况下获得这些值吗?数据[0]['branchName']、数据[1]['branchName']等等?但是如果您只有一个数组,最好回显json_encode(reset($myarray))并直接使用依赖于知道所讨论的键的索引的数据['branchName']语法(在本例中我是这样做的)。当您知道键名而不知道它的索引时,是否有方法获取值?(你可能已经回答了,当我发布这个…)重置功能做到了!谢谢
$.ajax({
    url: '<url>',
    dataType: "json", //optionnal if you correctly set the header
    success: function(data){
        for (var i in data) {
            console.log(data[i]); //data[i] are JS object
        }
    }
});