- 浏览: 63027 次
- 性别:
- 来自: 北京
最新评论
文章列表
实现极小一部分PHP的HASHMAP
- 博客分类:
- php
又修改了一下,实现了resize
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <math.h>
typedef struct bucket{
int h;
char* key;
void* pData;
struct bucket* pNext;
struct bucket* pLast;
}Bucket;
typedef struct hashtable{
i ...
PHP的启动
PHP的启动经历了
PHP_MINIT_FUNCTION->
PHP_RINIT_FUNCTION->
PHP_RSHUTDOWN_FUNCTION->
PHP_MSHUTDOWN_FUNCTION
4个阶段。
但是 这4个阶段会由于SAPI宿主的不同在不同阶段执行。
如果把PHP比作汽车,那么SAPI就是公路。
常见的SAPI可以是
CLI/CGI
一个请求过来,会执行以上4个阶段。
多进程模型
以APACHE的PRE-FORK为代表,在此模式下,APACHE会设定一个初始进程数量,然后请求增多以后,会以2的指数次方创建进程。
多线程模型
以APACHE的wor ...
php 字符串分割几种方式
- 博客分类:
- php
$str = str_replace("\\","/",__FILE__);
var_dump($str);
var_dump(split("/",$str));
var_dump(preg_split("/\//",$str));
var_dump(explode("/",$str));
var_dump(chunk_split($str,10));
var_dump(wordwrap(str_replace("\\"," &q ...
php序列化4种方式
- 博客分类:
- php
转 http://cloudbbs.org/forum.php?mod=viewthread&tid=4716
sort 按照值排序 删除 键名
usort 带回调函数的比较。比较的是值
uasort 和usort相同
uksort 带回调的比较。比较的是键
ksort 按照键排序 保留 键值对应关系
asort 按照值排序 保留 键值对应关系
求链表中间节点的值,检测链表的环
- 博客分类:
- 笔试
求链表中间节点的值,检测链表的环
int loop(struct Node* head){
struct Node* p1 = head;
struct Node* p2 = head;
int i = 0;
while(p1 && p2){
i++;
if(i!=1){
if(p1->value == p2->value){
printf("%d\n",i);
return 1;
}
}
p1 = p1->next;
if(p2->next != ...
问题:将一个字符串中的a替换成b,b替换成c.
介绍两个函数一个是strtr(),还有就是带回调的正则替换,preg_replace_callback($pattern,$callback,$text);其中callback有一个参数,接受一个$matches数组.
<?php
$str = "abc";
echo preg_replace_callback("/[a,b]/", function($matches){
if($matches[0] == "a&quo ...
php与mysql时间
- 博客分类:
- php
时间戳方便时间的计算加减等。格式化日期更直观。
MYSQL中
SELECT FROM_UNIXTIME(1342930200) //2012-07-22 12:10:00
SELECT UNIX_TIMESTAMP("2012-07-22 12:10:00") //1342930200
附加一个NOW()获取当前时间
PHP中
date('Y-m-d H:i:s', 1156219870);
strtotime('2010-03-24 08:15:00);
经过回来一周的找工作,总体感觉就是很累啊,每天东跑西颠的。面了几家,最后决定去用友了。为什么选用友呢,说真的用友的待遇真的不是很好。但是工作环境不错,而且也是大企业,能给自己一个很大的平台,对于我这种长期在学校,没怎么接触过社会的人,觉得挺适合见见世面的。还有一个很重要的原因是在别人还犹豫要不要我的时候,用友已经很明确的对我表示欢迎了。
[size=medium]
1.直接传值
function fun($arg1){
echo $arg1;
}
2.传引用
function append(&$arg,$str){
return $arg=$arg.$str;
}
$source = "99";
append($source,"8");
echo $source;
3.默认参数
function fun($arg1=1,$arg2=2){
echo $arg1,$arg2;
}
一定程度上可以模拟函数重载。
同时还要注意任何默认参数一 ...
php的ob_flush和flush
- 博客分类:
- 笔试
php.ini中
output_buffering = off 关闭php的缓存
implicit_flush = Off php不会立即输出到浏览器。如果是ON,相当于每次ECHO 立刻执行一个FLUSH
output_buffering 相当于一层缓冲。还有一层缓冲是php与浏览器之间的。ob_flush函数相当于把php缓冲写入php如浏览器输出层那个缓冲,当然如果output_buffering=off的话,也就是相当于没有php缓冲,直接就写入了php与浏览器缓冲。flush函数是把php输出层缓冲立即给浏览器,输出在浏览器上。
output_buffering=of ...
php读文件的4中方法。
- 博客分类:
- 笔试
fopen
$fp = fopen("download.php","rb");
while(!feof($fp)){
echo "fopen: ".fgets($fp);
}
fclose($fp);
说明:
对于fgets($handle,$length);
fgets是读取一行,返回$length-1长度的数据。
fgetc($handle)是读一个字节。
file
$lines = file("download.php");
foreach($lines as $lin ...
百度笔试算法题一道。
- 博客分类:
- 笔试
一个数组a[0-n-1],a[0-mid]和a[mid+1-n-1]是各自升序的,现在要把a[0-n-1]排成有序的。要求空间复杂度o(1),时间复杂度尽量低。
我想到的方法就是将后面序列的每个元素对前面序列进行插入排序。搜索插入位置的时候考虑从上一个插入元素位置之后开始搜索。
说明一下这个方法时间复杂度最坏应该是o(n^2),网上有o(n)解法。
#include <stdlib.h>
int insert(int* a, int begin, int end, int x){
int pos = end; //插入位置
int last = a[end];
...
自己实现php UTF8中文字符串截取
- 博客分类:
- 笔试
header("Content-type: text/html; charset=utf-8");
function my_substr($str,$begin,$length){
$i = $begin;
$result="";
while($length > 0){
if([color=red]ord($str[$i])>127[/color]){
$result .= substr($str,$i,3);
$i = $i+3;
}else{
$result .= sub ...
C与C++动态分配,释放内存的区别
- 博客分类:
- 笔试
1. malloc()函数
1.1 malloc的全称是memory allocation,中文叫动态内存分配。
原型:extern void *malloc(unsigned int num_bytes);
说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内 ...