PHP数组元素添加到数组的头部(array_unshift)

在PHP中像数组中添加元素比较常见的是array_push函数,即数组的入栈操作,但是这个函数是将元素添加到数组的末尾,如果需要将数组元素压入到数组的头部(即第一个元素)该如何操作呢? 使用PHP内置函数 array_unshift ,下面就将 array_unshift 这个函数的用法列举一下。array_unshift该函数的作用是在数组开头插入一个或多个元素。被加上的元素作为一个整体添加,这些添加....
  •   
  • 29
  • php
  • 0
  • dodobook
  • 2017/02/21

Yii2数据库开启表结构缓存以及清除缓存

Yii2开启表结构缓存,因为当运用模型(model)时,AR的一些公共属性都会从DB中获取,这样会导致服务器负担一些额外的资源开销,实际上对于成品来说,服务器这些开始销是多余的,故应该阻止这种默认行为,把表结构进行缓存起来,提高效率.Yii2的缓存值得深入研究学习. 开启数据库表结构的schema缓存的方法: //配置文件的方式 'db'=>array( ... 'enableSchemaCache' => tr....
  •   
  • 120
  • php
  • 0
  • dodobook
  • 2017/02/15

PHP数组操作–获取数组最后一个值的方法(5种)

PHP开发过程中,可能经常需要对取出的数组要获取数组的最后健或值。在这里有以下五种方法,并且跟据他们在一些情况下如何使用的条件限制进行了说明。 <?php $array=array(1,23,3,4,5,8,66); //强烈推荐 echo end($array); //将数组的内部指针指向最后一个单元,适用于所有数组 echo $array[count($array)-1]; //计算数组长度,然后获取数组最后一个元素....
  •   
  • 85
  • php
  • 0
  • dodobook
  • 2017/02/10

Yii2数据库操作之批量插入batchInsert()

数据库真的真的很脆弱!!!在一些应用场景中,需要对一些数据进行批量的插入,例如日志,例如批量新增数据,例如数据导入等。大多数不考虑效率的情况下,可以直接使用foreach循环插入(通俗易懂简便).但是考虑性能和数据库的优化的情况下,你就一定要了解到batchInsert这个方法了。直接上代码: //要插入的表的名称 $tableName = UserTagList::tableName(); //要插入的字段 $....
  •   
  • 227
  • php
  • 6
  • dodobook
  • 2016/12/26
light_on_off

2016滴滴出行研发工程师笔试题(亮灯问题)

一、题目 2015盏灯,一开始全部熄灭,序号分别是1-2015,先把1的倍数序号的灯的开关全部按一次,然后把2的倍数的灯的开关全部按一次,然后把3的倍数的开关按一次,以此类推,最后把2015的倍数灯的开关按一次。问最后亮着的灯有多少盏? A. 43       B. 44         C. 45      D. 46 二、解题 咋一看,这不是数学问题吗?干脆用数学解了。 先来分析一下,因为一开始的时候 2....
  •   
  • 879
  • php
  • 0
  • dodobook
  • 2016/12/22

Yii2获取model->save()错误信息中的第一条的方法

在Yii2中经常需要对数据表的新增更新或者删除。这个时候就经常用到$model->save()的方法,且model里面的rule会对这些提交的数据进行验证。验证不通过的话,会抛出提示的信息。以下这个方法就是得到获取Model错误信息中的 第一条,无错误时返回 null 直接上代码。 //获取 Model 错误信息中的 第一条,无错误时 返回 null public static function getModelError($model) {....
  •   
  • 272
  • php
  • 0
  • dodobook
  • 2016/12/13
PHP得到最近一周的日期已经得到某个月的实际天数Date

PHP得到最近一周和某月\某年的实际天数Date(t)\Date(z)

最近有一个接口的需求需要统计最近一周的相关的数据(如下图),也需要统计日均数据(因为月份是可以随意切换的,所以也就需要得到每个月有多少天的数据)。此处我写了一个简单的方法用于公共调用,当然有更好的方法。 温馨提示 Date('t',$time); //PHP日期函数得到某个月的真实天数 /** * 用于获取最近一周的日期列表 * 用于计算每个月的天数(本月的话截止到今天2016-12-0....
  •   
  • 318
  • php
  • 2
  • dodobook
  • 2016/12/08

PHP中array_key_exists()与isset()以及??的区别

PHP中array_key_exists用于检查某个键名是否存在于数组中,而isset也可以用于检测数组中某个键名是否存在,那么二者有什么区别呢? 一个基本的区别是isset()可用于数组和变量,而array_key_exits()只能用于数组。 但是最主要的区别在于在设定的条件下的返回值。现在我们来验证一下这个最主要的区别。 array_key_exists() array_key_exists() 会检查键值的存在. 这个函数会返....
  •   
  • 190
  • php
  • 0
  • dodobook
  • 2016/11/21

PHP获得两个或多个数组交集与差集的方法

在一些常见的场景下面,例如有一大群用户列表,需要获得一部分包含某个标签的用户列表,不包含某个标签的用户列表。就需要用到交集,共同含有的标签,差集不包含某个标签。 这篇文章主要介绍了PHP获得数组交集与差集的方法,实例分析了array_intersect与array_diff方法在求数组交集与差集时的使用技巧,需要的朋友可以参考下 本文实例讲述了PHP获得数组交集与差集的方法。分....
  •   
  • 212
  • php
  • 1
  • dodobook
  • 2016/11/18

PHP使用Yii2实现LinkedIn(Api)授权登录并获取信息Demo

在已经安装好相关的扩展的情况下(若未安装Yii2的扩展请移步参考底部的安转的相关文章),注册开发者账号,配置开发者相关的信息。 之后直接上代码:LinkedinController.php <?php /** * User: Dodobook * Date: 2016/11/1 08:08:08 */ namespace app\controllers; use Yii; use yii\web\Controller; use yii\httpclient\Client; use yii\authclient\clien....
  •   
  • 226
  • php
  • 0
  • dodobook
  • 2016/11/08

PHP使用Yii2实现Facebook(Api)授权登录并获取信息Demo

在已经安装好相关的扩展的情况下(若未安装Yii2的扩展请移步参考底部的安转的相关文章),注册开发者账号,配置开发者相关的信息。 之后直接上代码:FacebookController.php <?php /** * User: Dodobook * Date: 2016/11/1 08:08:08 */ namespace app\controllers; use Yii; use yii\httpclient\Client; use yii\web\Controller; use yii\authclient\clien....
  •   
  • 217
  • php
  • 1
  • dodobook
  • 2016/11/08
twitter_set

PHP使用Yii2实现Twitter(Api)授权登录并获取信息Demo

在已经安装好相关的扩展的情况下(若未安装Yii2的扩展请移步参考底部的安转的相关文章),注册开发者账号,配置开发者相关的信息。初步的配置信息如下所示。 之后直接上代码:TwitterController.php <?php /** * User: Dodobook * Date: 2016/11/1 08:08:08 */ namespace app\controllers; use Yii; use yii\httpclient\Client; use yii\web\Controller; ....
  •   
  • 528
  • php
  • 3
  • dodobook
  • 2016/11/08

Yii2安装加载AuthClient Extension来实现第三方的授权登录

最近接手一个工作内容需要获取第三方的授权登录,授权的第三方平台包括Twitter Facebook LinkedIn等。目前项目使用的Yii2框架。 对应的看了一下Twitter facebook 以及Linkedin的文档,发现有相似之处,又有不同之处,如果单独对每一个都引入一个扩展的话,显得不那么友好以及容易维护。 对于php程序员来说,facebook和linkedin是非常的友善的,极度的点赞一个,不仅有demo....
  •   
  • 220
  • php
  • 3
  • dodobook
  • 2016/11/08

使用PHP发送get、post请求的几种方法(curl,header)

在接口的开发中经常会遇到需要请求相关的第三方或者其他应用的接口,此处收集了几种PHP的发送get、post请求的方法。建议用curl。 方法1: 用file_get_contents 以get方式获取内容 $url='http://www.dodobook.net/'; $html = file_get_contents($url); echo $html; 方法2: 用fopen打开url, 以get方式获取内容 $fp = fopen($url, 'r'); //返回请求流信息....
  •   
  • 253
  • php
  • 0
  • dodobook
  • 2016/11/08

Yii2接口类里面直接调用Jpush的公共方法Demo示例

现在很多APP都使用极光推送实现消息订单等的通知。极光推送的PHP的接口之前的文章已经介绍过。文章底部有相关的链接可以直接访问。此处是写了一个公共的方法在很多地方直接调用。 使用示例如下代码所示,有区分个人版本和企业版本。传入个人(企业)ID和推送的信息内容。 //Jpushe 推送给用户的公共方法 public function jpushMember($member_id,$msg=''){ if(!$membe....
  •   
  • 268
  • php
  • 0
  • dodobook
  • 2016/10/11

PHP递归方式把一个数组里面的null转换为空字符串”的方法

在一些接口的调用中,直接查询数据库出来的字段可能为null字段,但是为了简便前端的判断,需要把null转换成空字符串'',这个时候就需要递归的方式进行。直接上代码如下: //把 null转换为空'' 递归方式 public function _unsetNull($arr){ if($arr !== null){ if(is_array($arr)){ if(!empty($arr)){ foreach($arr as $key => $value){ if($value =....
  •   
  • 217
  • php
  • 0
  • dodobook
  • 2016/10/11

PHP判断日期(生日)格式是否正确合法的方法

在某些场景之中需要判断某个日期是否是正确的日期格式.例如需要用户填写自己的生日,建议直接使用统一的日期控件即可。但是某些特殊自定义的场景下是用户自行输入的年月日,这个时候就需要对这个日期的合法性进行验证了。验证方法如下。 $date_str='2014-11-11';//这里可以任意格式,因为strtotime函数很强大 //$date_str='2014/11/11'; $is_date = strtotime($date_....
  •   
  • 257
  • php
  • 0
  • dodobook
  • 2016/10/10

Yii2使用(设置,获取,删除)cookie的方法

Yii2设置Cookies use yii\web\Cookie; //使用Cookie类 $cookie = new Cookie(); $cookie->name = 'user_name'; $cookie->value = 'dodobook'; $cookie->domain = '.dodobook.net'; //域名 $cookie->expire = time() + 86400 * 7; //7天时间 $cookie->httpOnly = true; //将cookie设置成HttpOnly是为了防止XSS攻击窃取cookie内容,这样就增....
  •   
  • 391
  • php
  • 0
  • dodobook
  • 2016/10/09

Yii2中Model中rules中自定义message无效的问题原因

今天在使用Yii2中的Model里面的rules规则的时候,希望验证规则不通过的时候出现自己自定义的提示信息。但是按照常规写法部分能按照自定义的语句提示(require integer...),但是对于有max min的就没有按照自定义的形式输出了。 经过查询相关资料以及Yii2的源码yii.validation.js里面有了新的定义tooLong tooShort tooBig tooSmall 等,和Yii1有一定的区别。 如果需要查看相关的....
  •   
  • 368
  • php
  • 0
  • dodobook
  • 2016/09/21

修改Yii2的默认语言language为中文zh-CN的方法

在开发Yii2的情况下,有时候遇到错误的情况下(例如model下面的错误提示信息),希望提示信息默认为中文,这个时候就需要修改Yii2的默认语言,最直观的方式是: //Yii2的默认的配置文件里面 $config = [ 'id' => 'basic', 'basePath' => dirname(__DIR__), 'language' => 'zh-CN', //全局设置为中文--推荐 ] 如果只针对局部的某一个控制器和....
  •   
  • 451
  • php
  • 1
  • dodobook
  • 2016/09/21