不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2015-12-01 00:12  分类:PHP基础 

一、先看最简单的情况。

有两个数组:

$arr1 = array(1, 9, 5);
$arr2 = array(6, 2, 4);

array_multisort($arr1, $arr2);

print_r($arr1); // 得到的顺序是1,5,9
print_r($arr2); // 得到的顺序是6,4,2

我估计两个数组的值自始至终都是对应着的:1对应6,9对应2,5对应4。

作者:php-note.com  发布于:2015-09-25 12:04  分类:PHP基础 

文件夹文件拷贝/复制函数

/**
 * 文件夹文件拷贝
 *
 * @param string $src 来源文件夹
 * @param string $dst 目的地文件夹
 * @return bool
 */
function dir_copy($src = '', $dst = '')
{
	if (empty($src) || empty($dst))
	{
		return false;
	}

	$dir = opendir($src);
	dir_mkdir($dst);
	while (false !== ($file = readdir($dir)))
	{
		if (($file != '.') && ($file != '..'))
		{
			if (is_dir($src . '/' . $file))
			{
				dir_copy($src . '/' . $file, $dst . '/' . $file);
			}
			else
			{
				copy($src . '/' . $file, $dst . '/' . $file);
			}
		}
	}
	closedir($dir);

	return true;
}

 

作者:php-note.com  发布于:2015-08-26 15:15  分类:PHP基础 

PHP如何计算短信的长度/字数?

项目中,用到发短信功能,但是每条短信如果字数超过70,会作为一条新的短信发送,所以在记录发送短信日志时,需要计算下文字个数!

英文、中文统一为一个字来计算,上面的 strlen_utf8($str) 正好可以解决这个问题。

作者:php-note.com  发布于:2015-08-07 22:07  分类:PHP基础 
/**
 * PHP计算两个时间段是否有交集(边界重叠不算)
 *
 * @param string $beginTime1 开始时间1
 * @param string $endTime1 结束时间1
 * @param string $beginTime2 开始时间2
 * @param string $endTime2 结束时间2
 * @return bool
 * @author blog.snsgou.com
 */
function is_time_cross($beginTime1 = '', $endTime1 = '', $beginTime2 = '', $endTime2 = '')
{
	$status = $beginTime2 - $beginTime1;
	if ($status > 0)
	{
		$status2 = $beginTime2 - $endTime1;
		if ($status2 >= 0)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		$status2 = $endTime2 - $beginTime1;
		if ($status2 > 0)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}

 

作者:php-note.com  发布于:2015-08-05 22:35  分类:PHP基础 

一年有多个周,每周的开始日期和结束日期

参考代码一:(正在用的版本

<?php
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
$year = (int)$_GET['year'];
$week = (int)$_GET['week'];
$weeks = date("W", mktime(0, 0, 0, 12, 28, $year));

echo $year . '年一共有' . $weeks . '周<br />';

if ($week > $weeks || $week <= 0)
{
	$week = 1;
}

if ($week < 10)
{
	$week = '0' . $week;
}
$timestamp['start'] = strtotime($year . 'W' . $week);
$timestamp['end'] = strtotime('+1 week -1 day', $timestamp['start']);

echo $year . '年第' . $week . '周开始时间戳:' . $timestamp['start'] . '<br />';
echo $year . '年第' . $week . '周结束时间戳:' . $timestamp['end'] . '<br />';
echo $year . '年第' . $week . '周开始日期:' . date("Y-m-d", $timestamp['start']) . '<br />';
echo $year . '年第' . $week . '周结束日期:' . date("Y-m-d", $timestamp['end']);
?>
作者:php-note.com  发布于:2015-08-02 12:09  分类:PHP基础 

什么是 Session

在 web 应用开发中,Session 被称为会话。主要被用于保存某个访问者的数据。

由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的。

既然如此,那么服务端怎么知道是哪个访问者在请求它呢?又如何将不同的数据对应上正确的访问者?答案是,给访问者一个唯一获取 Session 中数据的身份标示。

作者:php-note.com  发布于:2015-07-09 15:53  分类:PHP基础 

当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免 sql injection 风险。

作者:php-note.com  发布于:2015-07-08 22:04  分类:PHP基础 

PDO 提供了三种不同的错误处理模式,以满足不同风格的应用开发:

PDO::ERRMODE_SILENT

此为默认模式。 PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象。如果错误是由于对语句对象的调用而产生的,那么可以调用那个对象的 PDOStatement::errorCode() 或PDOStatement::errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在数据库对象上调用上述两个方法。

作者:php-note.com  发布于:2015-07-06 15:51  分类:PHP基础 

PDO是啥

PDO(PHP Data Object)是PHP5新加入的一个重大功能,因为在PHP5以前的PHP4/PHP3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dllphp_pgsql.dllphp_mssql.dllphp_sqlite.dll等等扩展来连接MySQLPostgreSQLMS SQL ServerSQLite,同样的,我们必须借助 ADOdbPEAR::DBPHPlib::DB之类的数据库抽象类来帮助我们,无比烦琐和低效,毕竟,PHP代码的效率怎么能够比我们直接用C/C++写的扩展斜率高捏?所以嘛,PDO的出现是必然的,大家要平静学习的心态去接受使用,也许你会发现能够减少你不少功夫哦。

作者:php-note.com  发布于:2015-06-17 09:21  分类:PHP基础 

定义和用法

sprintf() 函数把格式化的字符串写入一个变量中。

语法

sprintf(format,arg1,arg2,arg++)
参数 描述
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。