帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

PHP数组转字符串写入数据库的方法 - php数组

PHP数组转字符串写入数据库的方法

下面本文章总结了三种把数组转换成字符串然后写入到数据库中,一是直接利用implode函数,另外就使用serialize与eval函数进行转换,下面来一起看看吧.

最简单的办法,转换implode,代码如下:

数组->字符:$txt=implode("?",arr[]);

字符->数组:$arr[]=explode("?",txt);

使用php的serialize函数,例子代码如下:

$data  =  array ( '上海' ,  '北京' ,  '武汉' ); 
$data  = serialize( $data ); 
echo   $data ; 

如何再将从数据库中取出的数组字符串,转换成数组呢?用unserialize函数,代码如下:

$data  = unserialize( $data ); 
echo   $data ; 

当然这样我们还可以直接写入到文件中,serialize和反序列unserialize来实现,代码如下:

<?php  
$file = "./data/file.cache" ;  
$array  =  array ( "count"  =>  "3000" ,  
               "num"   => "300" );  
  //缓存  
file_put_contents ( $file ,serialize( $array )); //写入缓存   
$cacheArray  = unserialize( file_get_contents ( $file ));  
print_r( $cacheArray ); 
?> 

例子,使用期php的eval函数,string2array,array2string PHP数组转字符串写入数据库,字符串数组转可执行,代码如下:

/**   
* 将字符串转换为数组   
*   
* @param    string  $data   字符串   
* @return   array   返回数组格式,如果,data为空,则返回空数组   
*/    
  function  string2array( $data ) {    
     if ( $data  ==  '' )  return   array ();    
    @ eval ( "$array = $data;" );    
     return   $array ;    
}    
  /**   
* 将数组转换为字符串   
*   
* @param    array   $data       数组   
* @param    bool    $isformdata 如果为0,则不使用new_stripslashes处理,可选参数,默认为1   
* @return   string  返回字符串,如果,data为空,则返回空   
*/    
function  array2string( $data ,  $isformdata  = 1) {    
     if ( $data  ==  '' )  return   '' ;    
     if ( $isformdata )  $data  = new_stripslashes( $data );    
     return   addslashes (var_export( $data , TRUE));    

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP数组转字符串写入数据库的方法 - php数组》
文章链接:https://www.admin99.cn/7014
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册