- 浏览: 137150 次
- 性别:
- 来自: 北京
最新评论
文章列表
MYSQL中的decimal(M,D),最多保存M+2个字节(因为考虑到符号 如负号"-"和小数点"."号的占位因素),如果是负数,则"-"号占一位,
如果 是正数,则因为+号不用显式的写上,所以MYSQL会把它加到字符串的位数上.见下例
decimal(5,2)最大为-999.99~9999.99, 5+2=7,所以总位数是7(包括符号)
因为decimal是以字符的形式存放的,所以它避免了float和double的精度不准问题(如四舍五入),非常适合于银行信用卡之类的金额数据.
另:decimal和nu ...
<?php
/**
* 各种排序
* @author zhaojaingwei
* @since 2011/11/21 16:14
*
*/
$list = array(3,5,1,2,10,8,15,19,20);
//快排
function fast(&$list, $low, $high){
if($high - $low > 5){
while($low < $high){
$key = excute($list, $low, $high);
fa ...
原文地址:http://www.codinglabs.org/html/theory-of-mysql-index.html#nav-2
摘要
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持
也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是
平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。
文章主要内容分为三个部分。
第一部分主要从数据结构及算法理论层面讨论MySQL ...
<?php
require 'bstOrder.php';
$test = range(1, 10);
//$test = array(3,9,1,4,8,5,7,6,2,10);
$tree = new Bst($test, true);
//$tree->deleteNode('30');(非平衡树可删除,平衡树的没写删除操作)
print_r($tree->getTree());
?>
bstOrder.php
<?php
/**
* PHP实现二叉排序树
...
1. $a = '333';
$c = &$a;
$d = '888';
$c = &$d;
echo $c;
echo $a;
2. $a = '333';
$c = &$a;
$d = '888';
$c = $d;
echo $c;
echo $a;
其中第四行$c = $d和$c = &$d,导致的结果完全不一样.
$c = $d,因为$c是$a的一个引用,所以$c和$a的值都会变成888,
但是$c = &$d,是$c变成了$d的引用了,和$a已经没有关系了,所 ...
<?php
require 'edge.php';
$a = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
$b = array('ab'=>'10', 'af'=>'11', 'gb'=>'16', 'fg'=>'17', 'bc'=>'18', 'bi'=>'12', 'ci'=>'8', 'cd'=>'22', 'di'=>'21', 'dg'=>'24', 'gh'=>'19', 'dh'=>'16', 'de'=>' ...
<?php
require 'mGraph.php';
$a = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
$b = array('ab'=>'10', 'af'=>'11', 'bg'=>'16', 'fg'=>'17', 'bc'=>'18', 'bi'=>'12', 'ci'=>'8', 'cd'=>'22', 'di'=>'21', 'dg'=>'24', 'gh'=>'19', 'dh'=>'16', 'de'=> ...
<?php
//调用
require 'alGraph.php';
$a = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j');
$e = array('ab'=>'3', 'ac'=>'4', 'be'=>'6', 'bd'=>'5', 'cd'=>'8', 'cf'=>'7', 'de'=>'3', 'eg'=>'9', 'eh'=>'4', 'fh'=>'6', 'gj'=>'2', 'hi'=>'5', ' ...
<?php
require 'biTree.php';
$str = 'ko#be8#tr####acy#####';
$tree = new BiTree($str);
$tree->createThreadTree();
echo $tree->threadList() . "\n";从第一个结点开始遍历线索二叉树
echo $tree->threadListReserv();从最后一个结点开始反向遍历
?>
biTree.php
<?
...
在学习PHP的时候,经常遇到各种错误提示,今天看到这错误提示和解释感觉挺好,现转过来,供我们学习。呵呵。。。。。
1、Notice: Undefined variable: 变量名 in
注:使用了一个没有被定义的变量
2、Parse error: syntax error, unexpected T_ELSE in
If () {
}Else if () {
}
Echo $test;
Else {
}
注:是 if else if else 句式错误
3、Parse error: syntax error, unexpected $end in D
注:一般是大括号不匹配
4、Pa ...
<?php
/**
* KMP算法的PHP实现
*
* @author zhaojiangwei 2011/10/22 10:28
*/
class KMP{
private $next = NULL; //模式串T的next数组
private $t = NULL; //模式串
private $str = NULL; //主串
public function KMP($str){
$this->str = str_split($str ...
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23&quo ...
1.如果有多个变量名指向某一个变量值,unset任何一个变量名只是断开变量名和变量值之间的关系,不会释放内存,该值还存在
(例外见2).
2.两种情况会释放内存,否则内存中该变量值还存在.
a)该变量值占用空间超过256字节的时候用unset()才会释放内存(这是有人的测试结果,待解释)
b)当指向该值的所有变量(比如有引用变量指向该值)都被销毁后
3.如果想释放变量内存,最好用$a=NULL释放,当赋于NULL值时,该地址被释放,所有指向该变量值的引用都为空了
4.当在局部环境unset全局变量时,该全局变量只是在局部作用域失效.在其他地方不变
1.function test($arr){}
echo test(&$arr);
2.function test(&$arr){}
echo test($arr);
1和2是一样的效果.
3.function &test($arr){return $result;}
echo &test($a);有效
echo test($a);返回的是值,不是引用
总结:只有定义方法时在方法名前加&和调用方法时在方法名前同时加上&时才返回引用.
4.$a=$b;
当$a与$b都不重新赋值时,即不发生写操作时,与$a= ...
1.在插入数据时两者的意义基本一样.区别只在于addslashes
在magic_quotes_sybase=on时将“ '”转换成“ ' '”
在magic_quotes_sybase=off时将“ '”转换成“\ '”
而mysql_escape_string总是将“ '”转换成“\ '”
2.mysql_escape_string在php6中将被抛弃,所以最好避免用它.
而且最好用面向对象的mysqli::real_escape_string,
如果非要用面向过程的话可以用mysql_real_escape_string