【发布时间】:2015-10-21 11:27:50
【问题描述】:
我有一个这样的输入数组:
Array
(
[one] => one
[two] => two
[group1] => Array
(
[three] => three
[four] => four
[group2] => Array
(
[five] => five
)
)
[group3] => Array
(
[six] => six
)
)
我想从上面的数组中提取以下 6 个字符串:
Array
(
[0] => one
[1] => two
[2] => group1,three
[3] => group1,four
[4] => group1,group2,five
[5] => group3,six
)
有什么想法吗?有什么有用的PHP函数吗?
我尝试过这样的事情:
function getStrings( $data, &$result, $parent = '' ) {
foreach( $data as $key => $value ) {
if( is_array( $value ) ) {
getStrings( $value, $result, $key );
} else {
if( $parent == '' ) {
$result[] = $value;
} else {
$result[] = $parent . ',' . $value;
}
}
}
}
$tree = array();
getStrings( $input, $tree );
print_r( $tree );
结果:
Array
(
[0] => one
[1] => two
[2] => group1,three
[3] => group1,four
[4] => group2,five
[5] => group3,six
)
【问题讨论】:
-
尝试使用嵌套的for循环
-
你之前绑定的任何代码?
-
"gimme teh codez" 不会给你解决方案。展示你的作品。
-
@Pred 在目前的状态下,它不适合任何网站,包括代码审查。