php怎么判断空值,php中return与return?
return表示退出执行,即结束一个函数的执行,这个时候事实上可以理解返回的是空值(void),如果你了解java的话就很清楚了,在java里面,如果一个函数没有返回值,那么返回的就是void。但是php是弱类型语言,并没有强制限定,也没有提供void关键字,且定义的函数可以返回多中类型的值。
return false就简单了,返回的是一个boolean结果,通常用于进行一些判断。当然,如果返回值你并没有使用,return void的时候你也可以使用return false,即,如果一个函数只是执行一些操作,但是你并不需要返回的结果,直接使用return和return false、return true都是可以的,这个时候其实重点在return上,用于结束函数的执行。
mysql表数据量太大?
作为一名IT行业的从业人员,主要在从事产品研发及项目管理工作,在项目过程中,经常有优化数据库存储、架构方面的方案,所以我来探讨一下这个问题。
目前经常使用的关系型数据库如MySQL、SQL Server等,都是以“行”为单位进行存储,为了快速检索,也都采用了B树或其他索引技术。
从原理上来讲,表中的数据越多,索引树的范围越大,磁盘读取也越多,性能也就越低。
从实践角度来看,一般以百万到千万作为一个表的存储量级,超出该范围之后,性能就会下降,需要采用其他技术手段解决。
首先想到的就是能否将读和写分离,主数据库用于写入,读数据库(多个)用于对外提供查询,通过数据复制的方式将主数据库的数据同步到读库。该架构提升了数据库的读写能力,但对于主数据库的写入能力依然没法扩展。
其次,垂直分表就是把一个数据量很大的表,可以按某个字段的属性或使用频繁程度分类,拆分为多个表。如有多种业务类型,每种业务类型建立不同的表,tb1,tb2,tb3。如果日常业务不需要使用所有数据,可以按时间分表,比如说月表。每个表只存一个月的记录。
再次,水平分表就是根据一列或多列数据的值把数据行放到多个独立的表里,这里不具备业务意义。如按照id分表,末尾是0-9的数据分别插入到10个表里面。
这样做的好处就是解决了数据存储容量的问题,但也带来了诸多弊端,不再一一阐述。
mysql优化的方式有很多,选择上主要还是要考虑个人的实际情况,如代码不可控的情况下,就不适合选择按字段属性分表的情况,这样可能会带来大量的重构以及很多不可预期的风险。
而架构的优化,虽然对应用是透明的,但对sql的写法有很多局限性,比如说不能使用聚合函数等等,同时也需要有充足的硬件资源,只有一台服务器的情况下是没有意义的。
相比起来,代价最低的是按时间分表或分区,这两种办法对应用来说都是透明的。分区只需要一次本地数据迁移的操作。而通过分表把现网数据和历史数据分离,唯一的代价是定期的数据维护。
一般如果表里面有1亿数据的情况下,索引的问题应该是常识了,这方面我就不说了。
怎么自学数据分析?
不管是运营APP,还是运营微信公众号,头号号,大鱼号,还是百家号,新媒体数据不仅是数据工程师和分析师的事情,在工作中也要求运营从业者有一定的数据分析能力。
新媒体数据分析
公子义认为数据是优化新媒体运营关键所在,能更好推动运营策略和工作的开展。
但运营童鞋多是数据小白,没有编程和技术基础,该怎么分析并用好数据呢?
今天从运营常见的数据问题出发,希望让大家能快速地入门数据分析,让数据更好地为工作服务,别白白浪费数据的价值。
一、数据分析应该从哪里入手?
从哪些角度入手?这是运营小伙伴们最头痛的问题,不知道该关注、分析哪些数据,就算拿到数据后,也不知道到底从哪些方面去分析这些运营数据。
新媒体数据分析
公子义给小伙伴们整理一些运营常见的数据指标,也总结了一些比较适用的分析角度,希望有用~
1、新媒体运营关注的常见数据指标
1)访问:PV、UV、IP(最常见);跳出率、平均访问时长、平均访问页数等;
2)注册:关注人数、关注走势、累计关注人数、转化率等;
用户
1)活跃:内容PV、UV;UGC、PGC、文章数、关注数、阅读数、互动数(评论、点赞等)、传播数(转发、分享等);
用户喜好文章的类型
2)互动人数:每日评论人数、收藏人数、分享人数等
3)头像:分析用户属性,关注年龄、性别、学历、职业、地域、婚否、收入、兴趣等;
2、新媒体运营数据分析要遵循哪些原则?
但是运营毕竟不是专业的数据分析师,主要能用好这些原则就够了~
对比:分成横向和纵向对比,比如纵向的同环比分析,横向的不同产品、不同渠道的对比等;
走势(变化):指标随时间的变动,表现为增幅(同比、环比等);
分布:这个好理解,比如说用户不同年龄段的分类、不同职业的分布、不同地域分布等;
用户地域分布图
细分:从多层级去了解数据,比如分析全国不同省份不同城市的具体订单数据,从全国—省份—城市一一下钻深入分析;
如何变身自己的“专属分析师”呢~数据分析的整个过程:确定指标——数据收集——数据整合、数据处理/建模、数据分析、数据呈现、报表整理
数据收集:可通过公司数据库埋点获得,可以通过号、微信公众号、大鱼号、百家号等媒体平台获得,也通过一些记录的数据获得。
数据整合:运营人要看的数据太多了,有数据库,有各种第三平台的数据(新榜、清博指数、公众号等),每次都需要从不同平台取数据,太分散了,最好能在一个数据平台集中管理数据。
爆款文章数据分析
数据分析:可参考分析方法,比如“求和、计数、同环比、多粒度下钻”等分析,一般在Excel中需通过写公式搞定。
数据呈现(可视化):
简单地说,就是如何制图呗,报表汇报:将数据通过表格、图表或其他形式向领导汇报。如何不依赖分析师,自己搞定数据分析呢?
1、学习一些数据分析理论。(数据思维)
2、了解、熟悉业务,这点很重要。(业务思路)
3、学习一些数据分析工具。(工具辅助)以我的个人经验来看,真正把握这些真真是够了
二、如何制作让老板满意的好看图表?
没有哪个老板喜欢杂乱的表格数据,颜值才是王道啊。简单地说,就是数据如何可视化,让数据直观、明了。
分析数据占比:分析单维度的数据占比可用饼/环图、分析多维度的数据占比,可用旭日图和矩形树图。
分析数据走线图:最常用的是折线图,柱状图也可以表达,直观度略低于折线图。分析地区分布:全国、省份分布可用行政地图,更详细的地域分布可用经纬。
用户分析词频
分析词频:比如用户的职位分布,可用词云,有3D效果哦~分析转化效果:那肯定用漏斗图最最合适。
关于转化,分享一个自己身边的真实故事。每个图表都有适合的使用场景,用好各种图表很重要,直接影响到数据的直观和美观程度。
三、如何快速找到数据背后的问题?
做了那么多的数据工作,最终无非是为了从数据中去发现问题,不断优化运营策略。
不论数据是上升了还是下降了,肯定有其变化的原因,这里以用户数据变化为例了解一下快速找到问题的思路。
看数据—发现问题—解决问题—再看数据—问题解决,或者看数据—发现增长—找到原因—继续应用。
作者 l 公子义
来源 l 公子义(ID:gongzi348)