加入收藏 | 设为首页 | 会员中心 | 我要投稿 汕尾站长网 (https://www.0660zz.cn/)- 研发安全、行业智能、图像分析、视频终端、数据迁移!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现根据字符串生成对应数组的方法

发布时间:2022-07-25 10:21:51 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php实现根据字符串生成对应数组的方法,包含了数组操作的技巧及eval函数的用法,需要的朋友可以参考下 本文实例讲述了php实现根据字符串生成对应数组的方法,是比较实用的技巧。分享给大家供大家参考。具体方法如下: 先看看如下示例: ?php
  这篇文章主要介绍了php实现根据字符串生成对应数组的方法,包含了数组操作的技巧及eval函数的用法,需要的朋友可以参考下
 
  本文实例讲述了php实现根据字符串生成对应数组的方法,是比较实用的技巧。分享给大家供大家参考。具体方法如下:
 
  先看看如下示例:
 
  <?php  
  $config = array(  
   'project|page|index' => 'content',  
   'project|page|nav' => array(  
   array(  
   'image' => '1.jpg',  
   'name' => 'home'
   ),  
   array(  
   'image' => '2.jpg',  
   'name' => 'about'
   )  
   ),  
   'project|page|open' => true  
  );  
  ?>
  根据$config生成以下数组:
 
  <?php  
  $result = array(  
   'project' => array(  
   'page' => array(  
   'index' => 'content',  
   'nav' => array(  
    array(  
    'image' => '1.jpg',  
    'name' => 'home'
    ),  
    array(  
    'image' => '2.jpg',  
    'name' => 'about'
    )  
   ),  
   'open' => true  
   )  
   )  
  );  
  ?>  
  方法:使用eval实现:
 
  <?php  
  $config = array(  
   'project|page|index' => 'content',  
   'project|page|nav' => array(  
   array(  
   'image' => '1.jpg',  
   'name' => 'home'
   ),  
   array(  
   'image' => '2.jpg',  
   'name' => 'about'
   )  
   ),  
   'project|page|open' => true  
  );  
     
  $result = array();  
  foreach($config as $key=>$val){  
     
   $tmp = '';  
   $keys = explode('|', $key);  
     
   for($i=0,$len=count($keys); $i<$len; $i++){  
   $tmp .= "['".$keys[$i]."']";  
   }  
     
   if(is_array($val)){  
   eval('$result'.$tmp.'='.var_export($val,true).';');  
   }elseif(is_string($val)){  
   eval('$result'.$tmp.'='.$val.';');  
   }else{  
   eval('$result'.$tmp.'=$val;');  
   } //www.phpfensi.com
     
  }  
     
  print_r($result);  
     
  ?>  
  输出结果:
 
  Array
  (
  [project] => Array
  (
  [ page ] => Array
  (
  [index] => content
  [nav] => Array
  (
  [0] => Array
  (
  [image] => 1.jpg
  [name] => home
  )
  [1] => Array
  (
  [image] => 2.jpg
  [name] => about
  )
  )
  [open] => 1
  )
  )
  )
  希望本文所述对大家PHP程序设计的学习有所帮助。

(编辑:汕尾站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读