随笔分类 - PHP
摘要:看下面的事件类class Event { protected static $listens = array(); /** * [listen 注册监听事件] * @param [string] $event [事件名] * @param [call...
阅读全文
摘要:call_user_func官方的解释是:把第一个参数作为回调函数(callback),并且将其余的参数作为回调函数的参数。第一个参数可以是函数名,后面的均为作为该函数使用的参数。1. call_user_func的初步使用 看例子:// 1. 初步使用function sayHi($name){ ...
阅读全文
摘要:array_column该函数非常有用,在PHP 5.5中可直接调用。有如下二维数组,如要抽取每个子数组中的特定项。 2135, 'first_name' => 'John', 'last_name' => 'Doe', ), array( 'i...
阅读全文
摘要:View部分 1. 使用ActiveField中的hint生成提示文字 2. 文本框添加placeholder属性,其实这个本来就是html5带的属性。 3. 用activeForm生成的元素不让出现label 4. 使用GridView,如果数据库中保存的是图片地址,在前台显示成图片可以使用for
阅读全文
摘要:测试过程中有时候需要生成大量的假数据,faker 是一个生成假数据的类库,可以生成姓名,电话,IP地址,密码,ISBN等等你能想到的或者你想不到的各种类型的假数据。 Yii2.0已经集成该类库,不用再下载了。 以Yii2.0 Basic版为例 1. config\console.php 中添加一条配
阅读全文
摘要:PHP链接sqlserver需要先安装驱动,不是先把dll放到ext下面,一重启服务器就完事了。本地环境:XAMPP 1.8.2PHP 5.4.31SQL SERVER 2008 R2使用的DLLphp_sqlsrv_54_ts.dllphp_pdo_sqlsrv_54_ts.dll当前报错: ...
阅读全文
摘要:什么是GCM?Google Cloud Messaging (GCM) 是Google提供的一个服务,用来从服务端向安卓设备发送推送通知。GCM分为客户端和服务端开发。这里我们只介绍服务端开发。其实过程非常简单,只需利用PHP发送POST数据。有两个关键地方需要获得一个是API Key一个是Devi...
阅读全文
摘要:在stackoverflow上看到一个问题:http://stackoverflow.com/questions/14015543/crontab-php-wget-or-curl有三种通过crontab执行php脚本的写法:* * * * * /usr/bin/php /var/www/project/cron.php* * * * * /usr/bin/curl --silent --compressed http://localhost/project/cron.php* * * * * /usr/bin/wget http://localhost/project/cron.php三者有
阅读全文
摘要:strtotime是一个非常强大的函数。传入的参数,详见官网的介绍本月最后一个周日echo date('Y-m-d',strtotime('last sunday of this month'));下个月第三个周日echo date('Y-m-d',strtotime('third sunday o...
阅读全文
摘要:array_reduce — 用回调函数迭代地将数组简化为单一的值给定一个数组:$ar = array(1,2,3,4,5);如果要求得这个数组中各个元素之和。方法一、很自然的用foreach实现$sum = 0;foreach ($ar as $v) { $sum+=$v;}echo $sum;方法二、我们可以用array_reduce实现。它是专门用来迭代数组的。该函数最多接收三个参数。第一个参数接收数组第二个参数函数名,也可以是匿名函数,函数有两个参数,分别代表$result和$item第三个参数(可选),该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值...
阅读全文
摘要:1. array_unshift()数组头插入新元素$fruits = array('apple','pear','banana','orange');array_unshift($fruits, 'cherry');pr($fruits);function pr($str){ echo ""; print_r($str); echo "";}输出:Array( [0] => cherry [1] => apple [2] => pear [3] =>
阅读全文
摘要:数组传递这么写:echo "info" ;数组接收 : $info = unserialize(base64_decode($_GET['info']));访问的话: echo $info['name'];注意unserialize和base64_decode的顺序。还有一点注意:最好不要用urlencode和urldecode,urldecode会将'+'这个字符转换成空格。发送页:$information = array('name' => 'fin+ly')echo "in
阅读全文
摘要:转换PHP数组为查询字符串放到URL中$data = array('apikey'=>'xg6tr7k','user'=>'abcd','email'=>'root@example.com');echo http_build_query($data);输出:apikey=xg6tr7k&user=abcd&email=root%40example.com类似的,PHP也提供解析URL的函数$query_string ="http://www.A.com/i
阅读全文
摘要:有这样的数组$arr = array( 'facebook' => 'facebook', '' => '',);输出内容var_export($arr);array ( 'facebook' => 'facebook', '' => '',)发现带''的数组元素键名或值输出不正常,中间会被截取改为如下就行了。$arr = array( 'facebook' => 'facebook', &
阅读全文
摘要:例子来自PHP官方文档,我只是翻译下。http://www.php.net/manual/zh/function.mb-strcut.phpheader( 'Content-Type:text/html;charset=utf-8 ');mb_internal_encoding('UTF-8');$string = 'cioèòà';var_dump(substr($string, 0, 6),mb_substr($string, 0, 6),mb_strcut($string, 0, 6));输出:Output:s
阅读全文
摘要:今天遇到一个问题,数据库中保存的内容通过php在页面无法显示,如果将内容换行或加个空格或者随便加点其他内容就能正常显示。非常的诡异,显示的内容是通过截取得到的。代码非常简单substr($pMarketInfo['description'], 0, 150) . '...';原始内容是:Set on a huge 809m2 block, there is plenty of room for the pets and the little ones and with side access• Floor to ceiling tiles in the bath
阅读全文
摘要:当要输出大段文字,包含很多单引号、双引号的字符串是比较头疼的问题。我的做法是要么用'.'连接符要么转义。其实还有种好的方法,使用heredoc风格使用heredoc的要点:1.以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格2.结束标记末尾要有分号3.开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可4.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以
阅读全文
摘要:问题:SCREAM:Error suppression ignored for解决:在php.ini最下面加入scream.enabled = Offhttp://stackoverflow.com/questions/15203168/php-error-suppression-is-being-ignored
阅读全文
摘要:我们在访问有的网站,输入表单完成以后,单击提交按钮进行提交以后,提交按钮就会变为灰色,用户不能再单击第二次,直到重新加载页面或者跳转。这样,可以一定程度上防止用户重复提交导致应用程序上逻辑错误。 不妨引深来看,它不一定发生在表单的提交事件上,同样可以发生在ajax的异步请求上。有效地在web客户端采用一定机制去防止重复点击提交,将大大减轻服务器端压力。 那么,我们就不妨从表单提交及ajax的两种不同请求的处理过程中,来试试如何防止重复点击提交。 一、表单提交 就以登录表单为例,代码如下:<form action="login.do" method="post
阅读全文
摘要:一、php 使用json_encode()转换值中大括号与花括号区别当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串<?php $arrField = array( 'a', 'a', 'a', 'a',);var_dump($arrField);echo json_encode($arrField);//输出内容array 0 => string 'a' (length=1) 1 => string 'a' (length=1)
阅读全文

浙公网安备 33010602011771号