如何以json编码变体形式访问JavaScript中的多维PHP数组?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何以json编码变体形式访问JavaScript中的多维PHP数组?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2683字,纯文字阅读大概需要4分钟。
内容图文
昨天问了一个问题之后,我了解到我需要在Php中有一个数组,并使用JSON将其传递给Javascript.我已经完成了所有工作,但是我需要在数组中再增加一个维度,但不确定如何做.
当前数组是:
$result = array(
'NumberSelected' => $number,
'TargetPerc' => array (),
'KpiDescription' => array (),
'KpiName' => array (),
'ValuetoPrint' => array (),
'ValueNow' => array (),
'ValueCompare' => array (),
'Target' => array (),
'KpiUnits' => array ()
);
但是我现在需要将其括在另一个维度中,以便按组对它们进行排序.
这是我尝试过的:
$result = array(
$i => array(
'NumberSelected' => $number,
'TargetPerc' => array (),
'KpiDescription' => array (),
'KpiName' => array (),
'ValuetoPrint' => array (),
'ValueNow' => array (),
'ValueCompare' => array (),
'Target' => array (),
'KpiUnits' => array ()
)
);
将$i定义为0,在此之前两行.但这似乎无法识别外层阵列.目前可能与我的收集代码result.KpiName [i]有关(JSON变量作为结果传递给此javascript函数).我尝试了result.i [KpiName [i]],但没有成功.
任何帮助,将不胜感激.
解决方法:
如果有一个结果:
$result = array(
'NumberSelected' => $number,
'TargetPerc' => array(),
....
);
然后,您想将其添加到其他结果中:
$result_set = array();
$result_set[] = $result;
此时,$result_set是一个包含一个元素的数组,该数组包含键’NumberSelected’,’TargetPerc’等.
我认为您不禁对数组中的数组中的数组有想法,因此应这样考虑:每个数组索引都是特定数据段(如文件系统)的“路径”的组成部分.在这种情况下,$result_set是“路径”中最通用的部分,就像Windows上的驱动器号一样.在我们假装的驱动器中,有一堆用数字命名的文件夹,因此$result_set [0]是第一个文件夹,$result_set [1]是第二个文件夹.在每个文件夹中都有子文件夹NumberSelected(实际上,它就像文件一样,因为它具有标量值),TargetPerc等子文件夹,它们对应于结果集的第二层:$result_set [0] [ ‘NumberSelected’].现在,数组的最终尺寸与“ TargetPerc”,“ KpiDescription”等中的每个文件相对应,其中文件(除非您给它们指定了键名)是用数字命名的.
因此,要访问结果集中第一个结果中的“ KpiDescription”的第一项,文件系统的“路径”(以此类推)将是
result_set/0/KpiDescription/0
现在,将其翻译回PHP:
$result_set[0]['KpiDescription'][0]
容易吧?
现在是您问题的JSON部分:对json_encode进行编码后,它看起来像是一串很大的PHP文本字符串,但是json_encode的神奇之处在于它保留了原始数据结构,但使用的是Javascript.
因此,结果集如下所示:
result_set = [
{
NumberSelected: 123,
TargetPerc: [ ... ],
KpiDescription: [ ... ]
}
];
如您所见,JavaScript只是对象的数组,其中每个对象都有一些恰好是数组的属性.要访问第一个KpiDescription中的第一项(就像上面一样),可以使用以下命令:
result_set[0].KpiDescription[0]
另外,由于Javascript允许您将对象属性视为数组索引(实际上并不完全正确,但这是另一回事了),您可以这样做:
result_set[0]['KpiDescription'][0]
看起来熟悉? PHP缺少的只是前导$.
我希望这可以帮助您解决一些问题.
内容总结
以上是互联网集市为您收集整理的如何以json编码变体形式访问JavaScript中的多维PHP数组?全部内容,希望文章能够帮你解决如何以json编码变体形式访问JavaScript中的多维PHP数组?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。