Category Archives: 代码人生

硅谷的那些中国码农

中国码农是什么意思?硅谷的那些中国程序员

  硅谷的主要城市,都有一个大华超市。这是一家连锁中国超市,超市周边通常有一圈中餐馆。看到红色的Ranch 99标志,就意味着来到了华人主要聚集地。走进硅谷的大华超市和周边餐馆,如果看到穿T恤、戴眼镜的中国年轻人,那十有八九就是各大科技公司的程序员和工程师。他们也代表着这个全球创新圣地硅谷的中国力量。(程序员与工程师的工作存在差别,本文泛指在硅谷的中国科技精英。)

  硅谷具体有多少中国码农,谁也说不清。但在各大主要科技公司中,中国程序员都已经成为一支不可忽视的力量。无论是谷歌、苹果、思科这样的老牌巨头, 还是Twitter、Facebook和Pinterest这样的新生力量,中国员工的身影都无处不在。他们也是各大科技公司中最主要的外籍员工之一,部 分公司的比例已经超过了10%。

  虽然人数不断增长,中国码农的生活圈子其实并不大。如果在硅谷参加中国码农的聚会,即便是初次见面的朋友,彼此聊上两句,也会发现双方可能早在 Facebook和Linkedin互相关注,或者至少有数位共同好友。再聊上两句,或许彼此会发现居然还是校友,有着大致相同的生活经历。

  加州湾区历来都是华人的主要聚集地,但老移民的通用语言都是粤语。而以中国码农为代表的新移民,则更多来自大陆其他地区。能够来到硅谷的中国码农, 几乎都是最为精英的计算机人才。他们的人生经历也大同小异:在中国的一流大学毕业之后,来到美国各大名校就读硕士或者博士,毕业来到硅谷的科技公司工作, 从此就留在了这里。

  谈到国内的大学,他们可能来自清华、北大、复旦、浙大、武大、北邮等知名院校;谈到美国的大学,他们可能毕业于斯坦福、伯克利、卡内基·梅隆、南加 州大学等一流学府。这些毕业于中国顶级高校的计算机精英们,和全球的科技精英一样,都集聚到硅谷的科技公司,为科技创新贡献出自己的力量。

  在美国生活多年之后,中国码农们拿到了绿卡,而后又熬到了入籍的年头。但无论是什么国籍,他们都代表着硅谷的中国科技人才。诸多已经成功的华人科技精英,也通过各种方式,帮助着下一代的硅谷中国科技人。

  精英前辈

  就时间而言,硅谷出现大量中国计算机精英的身影是从上世纪九十年代开始。在此之前,硅谷的科技公司几乎见不到多少中国人的身影;但随着中国大陆的逐 渐开放,越来越多的精英学子来到美国求学。学成之后的他们,并没有回到国内,而因为各种原因选择来到硅谷,在英特尔、思科等老牌科技公司开始了自己的职业生涯。

  在这一批中国计算机精英中,涌现出了诸多在硅谷留下烙印的杰出人才。在上世纪九十年代中后期,他们有的硅谷创业,成就了中国人在硅谷的一段传奇;有 的回国创业,成为了中国互联网行业的领军人物;有的继续奋斗,成为了科技巨头中的顶级华人高管。不管选择哪条道路,这批如今45岁以上的中国程序员,都是 中国互联网及科技史上最传奇的一代人。

  在那一代的硅谷华人创业者中,邓峰、谢青等人无疑是最为成功的。邓峰和谢青等人创办的网络安全公司NetScreen,在2001年美国科技低潮期 成功上市,又在2004年作价40亿美元被网络设备巨头Juniper收购。这个金额目前仍然是硅谷华人创业公司的一个记录。在被Juniper收购之 后,拿到巨额资金的邓峰开始了投资人生涯,创办了北极光风投。北极光的投资项目包括红孩子、展讯科技、百合网、珠海炬力等公司。而谢青则早早另起炉灶,创 办了自己的网络安全设备公司飞塔(Fortinet),并在2009年成功上市。目前飞塔的市值接近40亿美元。

  选择回国创业的人则奠定了中国互联网行业的基石。李彦宏无疑是其中最为成功的硅谷回国创业者。1999年,李彦宏在妻子的鼓励下,告别了硅谷搜索公 司InfoSeek的工程师职位,回国创建了百度公司。如今的百度是中国最大的互联网搜索公司,市值高达540亿美元,李彦宏也一度成为了中国首富。

  而选择在科技巨头公司工作的那一代中国科技精英,他们当中的最杰出代表莫过于微软全球执行副总裁陆奇。先后效力于IBM、雅虎和微软的陆奇也是美国 科技巨头公司中职位最高的中国大陆人。同样曾在科技巨头公司中担任要职的还有如今新浪联席总裁许良杰,他曾是eBay和思科的首位华人全球副总裁,被美国 前副总统戈尔誉为“硅谷华人的骄傲”。

  印度三哥

  在此之后,中国工程师与程序员在硅谷似乎出现了一个力量断层。虽然每年都有中国人源源不断涌入硅谷,但却再也没有中国人在硅谷重要科技公司担任高层职位。大量的中国科技精英在科技巨头公司似乎遇到了一个无形的天花板,始终卡在中层到高层的晋升道路上。

  虽然印度人和中国人有很多相似之处,但印度人更喜欢聚居。在Sunnyvale、Cupertino等印度人聚集的地区,走进小区就可以闻到一股标 志性的咖喱味。虽然印度裔占硅谷总人口的比例只有6%,但却有15%的硅谷科技公司是印度人创办。而被中国人戏称为“三哥”的印度软件工程师也成为中国科 技精英绕不过去的话题。

  在硅谷,中国和印度是科技公司最主要的外籍员工来源地。在中国人的晋升之路遇到天花板的时候,印度人却似乎在硅谷发展的顺风顺水。伯克利大学 2012年的调查显示,三分之一的硅谷科技公司都有一位印度裔高管和技术主管。安卓与Chrome联合主管桑达·皮猜(Sundar Pichai)是目前谷歌最有实权的高管,谷歌的发布会最常听到的就是印度特色的英语发音。即便不在硅谷的微软也选择了萨提亚·纳德拉(Satya Nadella)作为新任CEO。

  对于强势崛起的印度同事们,硅谷的中国程序员们更多是抱着一种复杂的态度。当中国人聚会的时候,他们也会开始吐槽印度工程师的各种不良职场行为。“爱向上头抢功,在办公室拉帮结派,压制中国员工”,这些是典型的印度三哥特征。

  谈到中国与印度程序员的差别时,一位在硅谷呆了十多年的中国程序员直接地说,印度人拉帮结派是出名的了,往好了说这是团结;他们习惯于拱出一个人担 任主管,然后会罩着团队里的所有印度人,还会招募大量的印度同胞,阻碍中国人的发展;而中国人或许习惯各自为战,缺乏印度人那样的集团作战。

  对于这种说法,印度程序员则另有话说。曾经效力谷歌的印度裔软件程序员马尼什・阿罗拉(Maneesh Arora)对新浪科技表示,越来越多的印度裔员工在硅谷科技公司担任要职,这或许是因为印度人更善于交际,也更有语言优势。英特尔的印度裔公关妮莎·迪 奥(Nisha Deo)则认为,在英特尔内部关系中,印度裔员工和中国裔员工没有什么不同。

  健康无聊

  常规意义上的硅谷包括了从旧金山南下到圣何塞,这100多公里的狭长地带。硅谷的北面是旧金山湾,南面则是蜿蜒的山脉。 这个狭长地带包括了San Mateo、Menlo Park、Palo Alto、Mountain View、Sunnyvale、Cuputino、Santa Clara、San Jose。旧金山和这些小城市几乎聚集了所有的科技公司,也吸引了硅谷所有的中国程序员和工程师们。

silicon-valley

  他们每天的活动就是公司与家,奔波在硅谷的几条主要交通干道101、280、237和880上。虽然并不需要早晚打卡上班,但每天早班上下班高峰期 的时候,101和237这样主要干道的拥堵程度丝毫不亚于北京的四环路。最为拥堵的上班高峰路段莫过于101高速通往谷歌总部的出口,而在下班的时刻,从 Mountain View到圣何塞机场原本20分钟的路程甚至会赌上一个多小时。中国码农把这样的上下班戏称为“Fight 101”。

  与国内大城市生活相比,生活在硅谷无疑有着诸多吸引力。虽然硅谷PM 2.5指数常年在20-40之间徘徊,属于美国空气质量相对较差的地区,但与近年来北京、上海等国内大城市的雾霾天相比,这里几乎每天都是阳光灿烂和蓝天 白云。生活在日晒强烈的硅谷,墨镜是必不可少的装备。每年的4月到10月,硅谷几乎很少下雨,远处的山坡几乎是枯黄一片,只有到了冬天的雨季才会绿草油 油,呈现出Windows XP经典桌面的景象。

  华人聚集的加州湾区,和纽约与洛杉矶一道是美国中餐馆最为密集的地区之一。围绕着中国超市开设的诸多中餐馆,也是中国程序员们的主要活动场所。每当 夕阳西下时分,成家的程序员们会赶回家中,而单身的码农们则会约在中餐馆相聚。每新开一家中餐馆,几乎都会在中国码农的生活圈内传来。因为晚上的硅谷,除 了Palo Alto的斯坦福大学附近,几乎没有什么休闲娱乐,除了看电影似乎就只能健身房锻炼了。

  在忙碌了一周之后,中国码农们通常会在周末选择相约郊游。开车或往北开到葡萄酒产地Napa,或往南行驶至海景小镇Carmel,或往东奔至优胜美 地国家公园,或往西到1号公路眺望太平洋。走进大自然,爬爬山看看海聊聊天成为主要的休闲方式。他们通常会自嘲“国外生活是好山好水好无聊,国内则是又脏 又乱又逍遥”。

  买房成家

  要在硅谷成家立业,中国程序员们也要面对这里的烦恼。硅谷的生活水平也是美国最高的地区之一,尤其是住房成本。如今在硅谷,一套一室一厅的较新公寓 月租金已经在2000美元-2500美元,而房价则在40-50万美元不等。拥有诸多科技公司的Palo Alto和Mountain View也成为了湾区房价最高的城市。这里的独栋房屋售价基本都在200万美元以上。

  但相对于北京和上海,在硅谷买房虽然价格也高,但也并非遥不可及的梦想。买不起独栋房屋,也可以住公寓;买不起南湾房子,也可以选择半小时车程外的 东湾地区。一套公寓或者一栋房子,对硅谷的程序员来说,也只是几年的收入。程序员在硅谷大科技公司的起步年薪约在8万左右。工作两三年后,包括奖金与分红 的年薪通常会达到20万美元左右。

  不过硅谷最神奇之处就是这里的造富神话。如果眼光好水平高,加入前景看好的创业公司,遇到公司被收购或者上市,或许就成为了百万富翁。硅谷的买房梦 想就可以瞬间实现。Facebook和Twitter的上市,也给里面的诸多中国员工带来了丰厚的股权财富。2009年之前加入Twitter的员工,所 持的股份如今都价值百万美元。

  相对于买房,找对象的问题则令中国程序员们更加头疼。因为在硅谷,大部分的中国男人都会找中国女孩结婚。在科技精英汇聚的硅谷,男女中国工程师比例 严重失调,呈现出一派“狼多肉少”的局面。更加烦恼的是,很多中国程序员的生活圈子较小,接触的异性同胞数量也不多。在这样的情况下,两颗红豆这样的相亲 网站,非诚勿扰这样的活动在硅谷受到中国单身码农的广泛欢迎。

  回国乡愁

  虽然已经出国多年,但乡愁仍然是中国程序员们挥之不去的情节。相隔万里太平洋,每年的假期又有限,回国对中国程序员来说成为了一件奢侈的事情。几乎 每个要回国休假的人都会受到周围中国好友的羡慕。苹果等一些与中国业务密切的公司,相关岗位的中国程序员会经常回国出差,更是令周边的好友羡慕不已。

  美食是中国程序员们最常见的思乡情结。他们会一集集的在网络上看《舌尖上的中国》,一次次刺激自己的味蕾,然后在周边寻找可能的中国餐馆。即便硅谷 是美国中餐馆最为密集的地区,但也不可能为来自中国各地的程序员提供完整的家乡味道。思念家乡特色食物的他们,甚至会自己动手来学做各种风味小吃。

  国内上映的影视大片,他们会通过视频网站来及时收看,为相聚时的闲聊提供话资。偶尔有一两部中国电影在旧金山和Cupertino的AMC影院上 映,总会吸引大量得知消息的中国程序员们。陈奕迅、五月天、曲婉婷等中国歌星来硅谷开演唱会,更是会令硅谷的中国人兴奋异常。记得去年11月陈奕迅在旧金 山和圣何塞的演唱会,吸引了几乎所有硅谷中国人的关注,当天晚上,自己的微信朋友圈被一轮轮的陈奕迅演唱会刷屏。

  漂泊在国外的中国程序员,也同样关心着国内的各种新闻。以前他们通过论坛了解中国的动态,而现在则通过微博来获知新闻。国内发生灾难,他们也会难过 心酸。国内的腐败案件,他们也会愤慨激动。但相对于国内的网友,这些人在硅谷的中国程序员通常心态更加平和,微博言论也更加理性,极少出现偏激谩骂的语言。

  创业选择

  硅谷是创业和创新的圣地。和所有这里的科技精英一样,中国程序员的心里也有着创业梦想。但相对于美国本地的人才,中国科技精英还有更为现实的问题 ——签证和绿卡。那张薄薄的卡片,也是很多硅谷中国人的最大烦恼。什么时候才能拿到绿卡,可以自由创业或者回国,成为他们最为渴望的现实目标。

  回国创业是一个共同的话题。相对于十多年前,如今中国与美国的经济实力之差已经大幅缩小。对中国程序员来说,相对于在硅谷创业的天花板,回到中国创 业更容易获得风投支持,也更容易打开巨大的市场。更重要的是,这里是他们原本的家园。在2010年的一份调查中,就有近八成的硅谷中国留学生考虑回国创 业,而他们的年龄大部分在30岁到45岁之间。

  在很多立志创业的中国程序员来看,创业的机遇比绿卡更为重要。一位Facebook的中国员工对新浪科技表示,在Facebook发展没有太大的空 间,自己一直都有回国创业的想法,但也在一直进行各种权衡。在硅谷生活很安逸,家庭也很幸福,而回国创业就要面临各种变化。“但有好的机会,自己肯定还是 想回国发展的。”

  但为了未来选择和家庭考虑,也有不少中国程序员都会等到获得绿卡(永久居民卡),才会考虑跳槽或者创业等选择。如果是常规的美国硕士毕业来到硅谷工 作,走EB2渠道申请绿卡,按照目前的排期也需要等待4-5年。而且回国创业或许还会面临家庭的阻力。给孩子一个较好的生活环境,也是促使他们继续留在美 国的重要考虑因素。

  而另一位在苹果工作的中国工程师则完全没有回国的打算。“在美国已经好些年,回国一切都要从头开始。虽然我也在等待绿卡,但拿到了也没有打算回国,我有老婆孩子,要为他们打算。未来?我希望在苹果做到总监级别。苹果不是谷歌,印度人在这里没有拉帮结派的资本。”

来源:新浪科技

PHP 序列化(serialize)格式详解

大家如果用php会经常看到序列化的格式很茫然,只会使用serialize和unserialize,不明所以然,程序员之大忌。废话少说,先举个简单的例子:

a:3:{s:1:”a”;i:0;s:1:”b”;i:0;s:1:”c”;i:0;}

这个a就是array,a:3就是这个数组有三个值,后面括号就是这三个值了

s:1:”a”;s就是string,s:1″a”,就是string长度是1值是“a”,跟着就不要解释这么哆嗦了吧

详细看下面这篇(来自http://www.coolcode.cn/?p=170)写序列化比较好,分享给大家,技术活有难度哦{#emotions_dlg.tongue_out}

 

1.前言
PHP (从 PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize、unserialize。不过在 PHP 手册中对这两个函数的说明仅限于如何使用,而对序列化结果的格式却没做任何说明。因此,这对在其他语言中实现 PHP 方式的序列化来说,就比较麻烦了。虽然以前也搜集了一些其他语言实现的 PHP 序列化的程序,不过这些实现都不完全,当序列化或反序列化一些比较复杂的对象时,就会出错了。于是我决定写一份关于 PHP 序列化格式详解的文档(也就是这一篇文档),以便在编写其他语言实现的 php 序列化程序时能有一个比较完整的参考。这篇文章中所写的内容是我通过编写程序测试和阅读 PHP 源代码得到的,所以,我不能 100% 保证所有的内容都是正确的,不过我会尽量保证我所写下的内容的正确性,对于我还不太清楚的地方,我会在文中明确指出,也希望大家能够给予补充和完善。
2.概述
PHP 序列化后的内容是简单的文本格式,但是对字母大小写和空白(空格、回车、换行等)敏感,而且字符串是按照字节(或者说是 8 位的字符)计算的,因此,更合适的说法是 PHP 序列化后的内容是字节流格式。因此用其他语言实现时,如果所实现的语言中的字符串不是字节储存格式,而是 Unicode 储存格式的话,序列化后的内容不适合保存为字符串,而应保存为字节流对象或者字节数组,否则在与 PHP 进行数据交换时会产生错误。

PHP 对不同类型的数据用不同的字母进行标示,Yahoo 开发网站提供的 Using Serialized PHP with Yahoo! Web Services 一文中给出所有的字母标示及其含义:

a – array
b – boolean
d – double
i – integer
o – common object
r – reference
s – string
C – custom object
O – class
N – null
R – pointer reference
U – unicode string
N 表示的是 NULL,而 b、d、i、s 表示的是四种标量类型,目前其它语言所实现的 PHP 序列化程序基本上都实现了对这些类型的序列化和反序列化,不过有一些实现中对 s (字符串)的实现存在问题。

a、O 属于最常用的复合类型,大部分其他语言的实现都很好的实现了对 a 的序列化和反序列化,但对 O 只实现了 PHP4 中对象序列化格式,而没有提供对 PHP 5 中扩展的对象序列化格式的支持。

r、R 分别表示对象引用和指针引用,这两个也比较有用,在序列化比较复杂的数组和对象时就会产生带有这两个标示的数据,后面我们将详细讲解这两个标示,目前这两个标示尚没有发现有其他语言的实现。

C 是 PHP5 中引入的,它表示自定义的对象序列化方式,尽管这对于其它语言来说是没有必要实现的,因为很少会用到它,但是后面还是会对它进行详细讲解的。

U 是 PHP6 中才引入的,它表示 Unicode 编码的字符串。因为 PHP6 中提供了 Unicode 方式保存字符串的能力,因此它提供了这种序列化字符串的格式,不过这个类型 PHP5、PHP4 都不支持,而这两个版本目前是主流,因此在其它语言实现该类型时,不推荐用它来进行序列化,不过可以实现它的反序列化过程。在后面我也会对它的格式进行说 明。

最后还有一个 o,这也是我唯一还没弄清楚的一个数据类型标示。这个标示在 PHP3 中被引入用来序列化对象,但是到了 PHP4 以后就被 O 取代了。在 PHP3 的源代码中可以看到对 o 的序列化和反序列化与数组 a 基本上是一样的。但是在 PHP4、PHP5 和 PHP6 的源代码中序列化部分里都找不到它的影子,但是在这几个版本的反序列化程序源代码中却都有对它的处理,不过把它处理成什么我还没弄清楚。因此对它暂时不再 作更多说明了。
3.NULL 和标量类型的序列化
NULL 和标量类型的序列化是最简单的,也是构成符合类型序列化的基础。这部分内容相信许多 PHP 开发者都已经熟知。如果您感觉已经掌握了这部分内容,可以直接跳过这一章。

3.1.NULL 的序列化
在 PHP 中,NULL 被序列化为:

N;
3.2.boolean 型数据的序列化
boolean 型数据被序列化为:

b:<digit>;
其中 <digit> 为 0 或 1,当 boolean 型数据为 false 时,<digit> 为 0,否则为 1。

3.3.integer 型数据的序列化
integer 型数据(整数)被序列化为:

i:<number>;
其 中 <number> 为一个整型数,范围为:-2147483648 到 2147483647。数字前可以有正负号,如果被序列化的数字超过这个范围,则会被序列化为浮点数类型而不是整型。如果序列化后的数字超过这个范围 (PHP 本身序列化时不会发生这个问题),则反序列化时,将不会返回期望的数值。

3.4.double 型数据的序列化
double 型数据(浮点数)被序列化为:

d:<number>;
其 中 <number> 为一个浮点数,其范围与 PHP 中浮点数的范围一样。可以表示成整数形式、浮点数形式和科学技术法形式。如果序列化后的数字范围超过 PHP 能表示的最大值,则反序列化时返回无穷大(INF),如果序列化后的数字范围超过 PHP 所能表示的最小精度,则反序列化时返回 0。

3.5.string 型数据的序列化
string 型数据(字符串)被序列化为:

s:<length>:”<value>”;
其 中 <length> 是 <value> 的长度,<length> 是非负整数,数字前可以带有正号(+)。<value> 为字符串值,这里的每个字符都是单字节字符,其范围与 ASCII 码的 0 – 255 的字符相对应。每个字符都表示原字符含义,没有转义字符,<value> 两边的引号(”")是必须的,但不计算在 <length> 当中。这里的 <value> 相当于一个字节流,而 <length> 是这个字节流的字节个数。

 

4.简单复合类型的序列化
PHP 中的复合类型有数组(array)和对象(object)两种,本章主要介绍在简单情况下这两种类型数据的序列化格式。关于嵌套定义的复合类型和自定义序列化方式的对象的序列化格式将在后面的章节详细讨论。

4.1.数组的序列化
数组(array)通常被序列化为:

a:<n>:{<key 1><value 1><key 2><value 2>…<key n><value n>}
其 中 <n> 表示数组元素的个数,<key 1>、<key 2>……<key n> 表示数组下标,<value 1>、<value 2>……<value n> 表示与下标相对应的数组元素的值。

下标的类型只能是整型或者字符串型,序列化后的格式跟整型和字符串型数据序列化后的格式相同。

数组元素值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。

4.2.对象的序列化
对象(object)通常被序列化为:

O:<length>:”<class name>”:<n>:{<field name 1><field value 1><field name 2><field value 2>…<field name n><field value n>}
其中 <length> 表示对象的类名 <class name> 的字符串长度。<n> 表示对象中的字段1个数。这些字段包括在对象所在类及其祖先类中用 var、public、protected 和 private 声明的字段,但是不包括 static 和 const 声明的静态字段。也就是说只有实例(instance)字段。

<filed name 1>、<filed name 2>……<filed name n>表示每个字段的字段名,而 <filed value 1>、<filed value 2>……<filed value n> 则表示与字段名所对应的字段值。

字段名是字符串型,序列化后格式与字符串型数据序列化后的格式相同。

字段值可以是任意类型,其序列化后的格式与其所对应的类型序列化后的格式相同。

但字段名的序列化与它们声明的可见性是有关的,下面重点讨论一下关于字段名的序列化。

4.3.对象字段名的序列化
var 和 public 声明的字段都是公共字段,因此它们的字段名的序列化格式是相同的。公共字段的字段名按照声明时的字段名进行序列化,但序列化后的字段名中不包括声明时的变量前缀符号 $。

protected 声明的字段为保护字段,在所声明的类和该类的子类中可见,但在该类的对象实例中不可见。因此保护字段的字段名在序列化时,字段名前面会加上

/0*/0
的前缀。这里的 /0 表示 ASCII 码为 0 的字符,而不是 /0 组合。

private 声明的字段为私有字段,只在所声明的类中可见,在该类的子类和该类的对象实例中均不可见。因此私有字段的字段名在序列化时,字段名前面会加上

/0<declared class name>/0
的前缀。这里 <declared class name> 表示的是声明该私有字段的类的类名,而不是被序列化的对象的类名。因为声明该私有字段的类不一定是被序列化的对象的类,而有可能是它的祖先类。

字段名被作为字符串序列化时,字符串值中包括根据其可见性所加的前缀。字符串长度也包括所加前缀的长度。其中 /0 字符也是计算长度的。
——————————————————————————–

1 注:在 PHP 手册中,字段被称为属性,而实际上,在 PHP 5 中引入的用 __set、__get 来定义的对象成员更适合叫做属性。因为用 __set、__get 来定义的对象成员与其它语言中的属性的行为是一致,而 PHP 手册中所说的属性实际上在其他语言中(例如:C#)中被称为字段,为了避免混淆,这里也成为字段,而不是属性。

 

5.嵌套复合类型的序列化
上一章讨论了简单的复合类型的序列化,大家会发现对于简单的数组和对象其实也很容易。但是如果遇到自己包含自己或者 A 包含 B,B 又包含 A 这类的对象或数组时,PHP 又该如何序列化这种对象和数组呢?本章我们就来讨论这种情况下的序列化形式。

5.1.对象引用和指针引用
在 PHP 中,标量类型数据是值传递的,而复合类型数据(对象和数组)是引用传递的。但是复合类型数据的引用传递和用 & 符号明确指定的引用传递是有区别的,前者的引用传递是对象引用,而后者是指针引用。

 

discuz

discuz!–风行全国的开源论坛和SNS架构

大家是不是觉得这个头像很熟悉,好象哪里都有?是,这是大名鼎鼎的discuz!的标志

Discuz! 是康盛Comsenz推出的一套通用的社区论坛软件系统,中小网站采用率很高,风行祖国(听说不能叫中国{#emotions_dlg.laughing})南北,多伦多的YORKBBS和51好象也采用了

好处: 有个技术团队帮你开发, 投资者关注市场就够了

缺点: 网站扩容性不好,大网站象qq,163,新浪都不采用