golang实现php里的serialize()和unserialize()序列和反序列方法详解

Golang 实现 PHP里的 serialize() 、 unserialize()

安装

go get -u github.com/techleeone/gophp/serialize

用法

package main
import (
  "fmt"
  "github.com/techleeone/gophp/serialize"
)
func main() {
  str := `a:1:{s:3:"php";s:24:"世界上最好的语言";}`
  // unserialize() in php
  out, _ := serialize.UnMarshal([]byte(str))
  fmt.Println(out) //map[php:世界上最好的语言]
  // serialize() in php
  jsonbyte, _ := serialize.Marshal(out)
  fmt.Println(string(jsonbyte)) // a:1:{s:3:"php";s:24:"世界上最好的语言";}
}

github地址: https://github.com/techleeone...

总结

以上所述是小编给大家介绍的golang实现php里的serialize()和unserialize()序列和反序列方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 浅谈php函数serialize()与unserialize()的使用方法

    php函数serialize(): 这个函数作用就是序列化数据,返回一个可存储的字符串,该函数有利于存储或传递PHP的值,同时不丢失其类型和结构.所以我们在cms数据库里面经常看到这样的结构. 一般,我们将复杂或者数据量多而没有必要分开存储的数据封装成一个多维数组通过serialize()转成字符串,然后存进数据库,需要的时候再拿出来转成数组再用,而拿出了转成数组用的就是php的unserialize(),前面多了一个un嘛.直接上例子: $a=array("周","满&qu

  • Golang加密解密之RSA(附带php)

    RSA加密算法简史 RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA就是他们三人姓氏开头字母拼在一起组成的. RSA加密算法原理 学过算法的朋友都知道,计算机中的算法其实就是数学运算.所以,再讲解RSA加密算法之前,有必要了解一下一些必备的数学知识.我们就从数学知识开始讲解. 必备数学知识 RSA加密算法中,只用到素数.互质数.指数运算.模运算等

  • PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析

    本文实例讲述了PHP中SERIALIZE和JSON的序列化与反序列化操作区别.分享给大家供大家参考,具体如下: PHP中SERIALIZE和JSON序列化与反序列化区别是什么呢,对于这个问题我们可以和小编一起来看看,具体的操作细节如下所示. 在PHP中,serialize和json两种方式对一个对象或数组进行序列化或反序列化有什么区别呢? 假设一个对象和一个数组: $web = new stdClass; $web->site = 'tantengvip'; $web->owner = 'tu

  • php中unserialize返回false的解决方法

    本文实例讲述了php中unserialize返回false的解决方法,分享给大家供大家参考.具体方法如下: php 提供serialize(序列化) 与unserialize(反序列化)方法. 使用serialize序列化后,再使用unserialize反序列化就可以获取原来的数据. 先来看看如下程序实例: <?php $arr = array( 'name' => 'fdipzone', 'gender' => 'male' ); $str = serialize($arr); //序

  • 浅谈php serialize()与unserialize()的用法

    serialize()和unserialize()在php手册上的解释是:serialize - Generates a storable representation of a valueserialize - 产生一个可存储的值的表示unserialize - Creates a PHP value from a stored representationunserialize - 从已存储的表示中创建 PHP 的值很显然,"a stored representation"的解释翻

  • golang 调用 php7详解及实例

    执行php文件 func Test_exec(t *testing.T) { engine.Initialize() ctx := &engine.Context{ Output: os.Stdout, } err := engine.RequestStartup(ctx) if err != nil { fmt.Println(err) } defer engine.RequestShutdown(ctx) err = ctx.Exec("/tmp/index.php") i

  • PHP的serialize序列化数据以及JSON格式化数据分析

    PHP的serialize是将变量序列化,返回一个具有变量类型和结构的字符串表达式,而JSON则是一种更轻.更友好的用于接口(AJAX.REST等)数据交换的格式. 其实两者都是以一种字符串的方式来体现一种数据结构.那么他们之间又有什么区别呢? serialize序列化 我们在一些老的WEB系统中可能会看到在数据库或在文本文件中存储着一大串貌似有着特殊含义的字符串文本内容.我们仔细看会发现它具有数据类型和结构等信息,但是它并不容易人工阅读,它只适合PHP程序读取.PHP的serialize将数组

  • 详解php中serialize()和unserialize()函数

    php的serialize()函数和unserialize()函数 适用情境:serialize()返回字符串,此字符串包含了表示value的字节流,可以存储于任何地方.这有利于存储或传递 PHP 的值,同时不丢失其类型和结构.比较有用的地方就是将数据存入数据库或记录在文件中的时候 serialize()可处理处资源类型外所有的类型,也可以序列化对象 <?php $array = array(); $array['keys'] = 'www'; $array['values']='11111';

  • 非常好用的两个PHP函数 serialize()和unserialize()

    今天,在做一个关于PING服务的东西,由于不想把ping服务地址放进数据库中,那样不好,ping服务本来不是一个效率不高的事,再放进数据库中,不但更加降低了程序的效率,还给服务器带来不必要的损耗,所以,想办法所ping服务地址用数组的方式放进了.conf文件中,才开始的设计思路是通过生成的php代码放到.php文件中,然后再把.php文件载入进来,后来,发现操作起来不太方便,所以,决定使用serialize()函数和unserialize()函数,这两个函数的用法真是绝配,一个是进行序列化存储,

  • golang、python、php、c++、c、java、Nodejs性能对比

    本人在PHP/C++/Go/Py时,突发奇想,想把最近主流的编程语言性能作个简单的比较, 至于怎么比,还是不得不用神奇的斐波那契算法.可能是比较常用或好玩吧. 好了,talk is cheap, show me your code! 打开Mac,点开Clion开始Coding吧! 1.怎么第一是Go呢,因为我个人最近正在用,感觉很不错 package main import "fmt" func main(){ fmt.Println(fibonacci(34)) } func fib

随机推荐