javascript - 不使用键名获取关联数组的值

标签 javascript php arrays json

我正在尝试使用 JSON 和 PHP

我在 Javascript 中创建一个(嵌套)对象,例如

var obj2={用户:{姓名:“will”},年龄:27,国家/地区:“英国”};

我将其转换为 JSON 并通过 AJAX/POST 将其发送到 php 文件

hr.send("firstname="+JSON.stringify(obj2));

在那里,我解码它,

$a=$_POST['名字']; $b=json_decode($a,true);

所以它就像 Array ( [user] => Array ( [name] => will ) [age] => 27 [country] => UK )

现在,如果我这样做

echo $b[用户][名称];

我会得到“意志”

在不知道键名的情况下,如何才能获得相同的结果?执行类似 echo $b[0][0]; 的操作并仍然输出“will”?

谢谢

最佳答案

我不确定你为什么要这样做。 PHP 中关联数组的全部意义在于轻松地将索引与其值“关联”。键名称暗示了该特定索引包含的内容。通过将数组转换为数字索引数组,您将丢失信息。

如果这不是问题,您可以先重新索引数组,以便能够根据数组值的数字偏移量访问数组值。使用array_values()重新索引数组,然后根据数字偏移量(而不是键)访问值:

$array = array_values($b['user']);
echo $array[0]; // => 'Will'

关于javascript - 不使用键名获取关联数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23478338/

相关文章:

Java 切片数组与 Python 中一样

python - Numpy csv 脚本给出 'ValueError: setting an array element with a sequence'

javascript - ajax 请求的返回值到另一个函数

javascript - 使用 Angular 2.0 路由器的页面转换动画

php - 如何在cakephp的分页中传递参数?

php - Mysql 年月数据

php - 在 PHP 中构建 CalDAV 服务器?

java - 为什么这个 for 语句在 Java 中显示死代码?

javascript - 如何仅选择此 jQuery 集合中具有不同键的对象?

javascript - 更改 Javascript 中的数据类型