强大的php无限分类试题(demo)

本文介绍如何将PHP数组结构转换为缩进换行文本形式,并将其保存到文件中,涉及递归函数的应用和字符串操作技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目: 见图片, 该图是某网页的一个区域的截图,分类的级数不固定. 现有一个PHP变量:

    $cats = array(  
        array(  
            'id' => 1,  
            'name' => '学术和教育',  
            'children' => array(  
                array(  
                    'id' => 2,  
                    'name' => '自然科学',  
                    'children' => null,  
                ),  
                // ...  
            ),  
        ),  
        // ...  
    ); 

把上面的PHP数据用缩进换行文本的形式保存到文件


实现结果如下:

function createcates($arr,$i=1){
     static $str = null;
     if ($arr && is_array($arr)){
          $len = $i;
          foreach ($arr as $val){
               $str .= str_repeat('#',$i).$val['id'].','.$val['name']."\r\n";
               if ($val['children'] && is_array($val['children'])){
                    createcates($val['children'],++$len);
               }
          }
         
     }
     return $str;
}   
$return = createcates($cats);
     $fp=fopen( 'list.txt ', 'wb');
     fwrite($fp, $return);
     fclose($fp);
     echo 'ok';


本人水平有限,如有更好的代码,望请指教!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值