本文总结了一下常用的7种排序方法,并用php语言实现。
1、直接插入排序
/*
* 直接插入排序,插入排序的思想是:当前插入位置之前的元素有序,
* 若插入当前位置的元素比有序元素最后一个元素大,则什么也不做,
* 否则在有序序列中找到插入的位置,并插入
*/
function insertSort($arr) {
$len = count($arr);
for($i = 1; $i < $len; $i++) {
if($arr[$i-1] > $arr[i]) {
...
详解WordPress中用于更新和获取用户选项数据的PHP函数
update_user_option()函数
update_user_option()函数作用利用全局博客权限更新用户选项。
用户选项类似于用户元数据,唯一的不同之处在于用户选项支持全局博客选项。如果'global'参数为False(默认情况下),update_user_option会预先将WordPress表前缀改成选项名称。
【函数使用】
<?php update_user_option( $user_id, $option_name, $newvalue, $global ) ?>
【函数参数】
$user_id
(整数)(必...
PHP中调用C/C++制作的动态链接库的教程
一般而言,php速度已经比较快,但是,对于一些较高级开发者而言,如果想要追求更快的速度,那毫无疑问可以通过自己写c代码,并编译为动态链接库(常为.so文件),然后php通过创建一个新的扩展(extension),并在扩展里调用该.so文件,同时对外暴露出php函数接口。
在实际使用中,只要调用该函数接口,即可使用底层更快速的c函数服务。
一、动态链接库(shared)
动态链接库的文件名后缀通常是 ".so"。在Window...
PHP的Yii框架中行为的定义与绑定方法讲解
定义行为
要定义行为,通过继承 yii\base\Behavior 或其子类来建立一个类。如:
namespace app\components;
use yii\base\Behavior;
class MyBehavior extends Behavior
{
public $prop1;
private $_prop2;
public function getProp2()
{
return $this->_prop2;
}
public function setProp2($value)
{
$this->_prop2 = $value;
}
public function...
php ajax实现文件上传进度条
本实例是关于php文件上传时进度条的实现,主要采用ajax技术,另外还运用了html5,有需要的朋友可以研究一下。
本实例有两个文件:
upload_form.html:
<script>
function _(el){
return document.getElementById(el);
}
function uploadFile(){
var file = _("file1").files[0];
// alert(file.name+" | "+file.size+" | "+file.type);
var formdata = new FormData();
formdata...
详解PHP匿名函数与注意事项
php5.3不但引进了匿名函数还有更多更好多新的特性了,下面我们一起来了解一下PHP匿名函数与注意事项,具体内容如下
PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束
PHP5.2:JSON 支持
PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
PHP5.5:yield, list()...
详解PHP的Yii框架中的Controller控制器
控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应。 具体来说,控制器从应用主体接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息。
操作
控制器由 操作 组成,它是执行终端用户请求的最基础的单元,一个控制器可有一个或多个操作。
如下示例显示包含两个操作view and create 的控制器post:
namespace app\controllers;
...
PHP的Yii框架中过滤器相关的使用总结
Yii过滤器简介
过滤器是一段代码,可被配置在控制器动作执行之前或之后执行。例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证;性能过滤器可用于测量控制器执行所用的时间。
一个动作可以有多个过滤器。过滤器执行顺序为它们出现在过滤器列表中的顺序。过滤器可以阻止动作及后面其他过滤器的执行。
过滤器有两种写法:
基于方法的过滤器
基于自定义过滤器类的过滤器
无论哪种...
PHP的PDO操作简单示例
本文实例讲述了PHP的简单PDO操作。分享给大家供大家参考,具体如下:
网上关于PDO的资料很多。这里就不累赘了。
这里我将PDO所有操作封装到一个类里方便操作。
类代码如下:
class DB {
//pdo对象
public $con = NULL;
function DB()
{
$this->con = new PDO("mysql:host=127.0.0.1;dbname=dbtest", "root", "xxx", array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES `u...
简介PHP的Yii框架中缓存的一些高级用法
页面缓存:
页面缓存指的是在服务器端缓存整个页面的内容。随后当同一个页面被请求时,内容将从缓存中取出,而不是重新生成。
页面缓存由 yii\filters\PageCache 类提供支持,该类是一个过滤器。它可以像这样在控制器类中使用:
public function behaviors()
{
return [
[
'class' => 'yii\filters\PageCache',
'only' => ['index'],
'duration' => 60,
'variations' =>...