繁体   English   中英

将php多维数组解析为javascript多维数组

[英]parsing php multidimensional array to javascript multidimensional array

瞧,我的问题:我的PHP变量是多维数组

var_dump($php_data);

结果:

array(3) { 
[0]=> array(5) { ["grey"]=> string(3) "aaa" ["black"]=> string(3) "bbb" ["blue"]=> string(3) "ccc" ["green"]=> string(3) "ddd" ["yellow"]=> string(3) "eee" ["brown"]=> string(3) "fff" }
[1]=> array(5) { ["grey"]=> string(3) "ggg" ["black"]=> string(3) "hhh" ["blue"]=> string(3) "iii" ["green"]=> string(3) "jjj" ["yellow"]=> string(3) "kkk" ["brown"]=> string(3) "lll" }
[2]=> array(5) { ["grey"]=> string(3) "mmm" ["black"]=> string(3) "nnn" ["blue"]=> string(3) "ooo" ["green"]=> string(3) "ppp" ["yellow"]=> string(3) "qqq" ["brown"]=> string(3) "rrr" } 
}

我只想提取一些值:

foreach (...as... =>...){
  ...
}
var js_array = echo json_encode(...);

得到一个JavaScript数组:

var js_array = [
  ['aaa', ccc, eee],
  ['ggg', iii, kkk],
  ['mmm', ooo, qqq],
];

我阻塞了循环...预先感谢您的帮助

一种方法是定义所需的键(值无关紧要)。

$keys = ['grey' => 1, 'blue' => 1, 'yellow' => 1];

然后在每一行上使用array_intersect_key以获得结果。

foreach ($array as $row) {
    $result[] = array_values(array_intersect_key($row, $keys));
}

这里需要array_values ,因为如果您仍然具有字符串键,则json_encode的结果将是对象数组而不是数组数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM