脚本宝典收集整理的这篇文章主要介绍了PHP将多维目录数组转换为字符串,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP $array = array( 'CANON' => array( 'DCIM' => array( '100CANON','101CANON','CANONMSC' ),'CANON_SC' => array( 'IMAGE' => array( '0001' ),'DOCUMENT' => array( '0001' ),),'MISC' ));
这是所需的输出:
/CANON/DCIM/100CANON/ /CANON/DCIM/101CANON/ /CANON/DCIM/CANONMSC/ /CANON/CANON_SC/IMAGE/0001/ /CANON/CANON_SC/DOCUMENT/0001/ /CANON/MISC/
这是我到目前为止,但它只适用于第一个最深的目录,并忽略兄弟目录.
<?PHP function flatten_directory($array,$PRefix = '') { $result = ''; foreach($array as $key=>$value) { if(is_array($value)) { $result .= $key .'/'. flatten_directory($value,$prefix . $key . '.'); } else { $result .= $prefix . $key . $value; } } return $result; }
先感谢您.
$result .= $key .'/'. flatten_directory($value,$prefix . $key . '.');
而不是返回单个字符串,返回一个字符串数组.你也在混淆何时使用$key和$value.
function flatten_directory($directory,$prefix = "") { $result = array(); foreach ($directory as $key => $part) { if (is_array($part)) { $result = array_merge($result,flatten_directory($part,$prefix . "/" . $key)); } else { $result[] = $prefix . "/" . $part . "/"; } } return $result; }
输出:
Array ( [0] => /CANON/DCIM/100CANON/ [1] => /CANON/DCIM/101CANON/ [2] => /CANON/DCIM/CANONMSC/ [3] => /CANON/CANON_SC/IMAGE/0001/ [4] => /CANON/CANON_SC/DOCUMENT/0001/ [5] => /CANON/MISC/ )
以上是脚本宝典为你收集整理的PHP将多维目录数组转换为字符串全部内容,希望文章能够帮你解决PHP将多维目录数组转换为字符串所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。