邓_ Php·面试

1:PHP的意思,它能干什么?      

PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页,英文的全称(Professional Home Pages)1、Web开发、实现订单、网络通道、在线支付、一切互联网可以实现的工作。2、脚本的开发,Shell脚本、Windows的计划任务等3、软件的开发,PHP-GTK等等第三方的软件,使用php语法配合其他的语言开发软件

2:表单中get与post提交方法的区别?

get 是发送请求HTTP协议通过url参数传递进行接收

而post是实体数据,可以通过表单提交大量数据

3:Session与cookie的区别?

Session存储用户访问的全局唯一变量,存储在服务器上的PHP指定的目录中的,一般用于后台和安全性比较高的地方。Cookie是存储在客户端,

4:数据类型(int char varchar datetime text)的意思:varchar和char有什么区别?

int ---数字类型,    char ---固定长度字符串,    varchar ---实际长度字符串,

datetime   --- 日期时间型,     text ---文本字符串

char 的场地固定为创建表设置的长度,         varchar 为可变长度的字符

5:echo(),print(),print_r()的区别?

echo 是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值print()只能打印出简单类型变量的值(eg:int,string)

print_r() 可以打印出复杂类型变量的值(eg:数组、对象)

echo () 输出一个或者多个字符串

6:mysql_fetch_row()和mysql_fetch_array之间有什么区别?

Mysql_fetch_row  是从结果集取出1行数组,作为枚举

mysql_fetch_array 是从结果集取出一行数组作为关联数组 或数字数组,两者兼得

7:Include和require的区别是什么?为避免多次包含同一文件可用什么代替它们?

包含文件不存在或者语法错误的时候require是致命的,Include不是。Require需要放在头部预先下载,而include放在文件的任何位置随时载入。

header('content-type:text/html;charset=utf-8');

echo :输出一个或多个字符串 eg:echo (”hello world”);

define:定义常量

global:全局变量

print——输出字符串

die——等同于 exit()

printf——输出格式化字符串

trim ——去除字符串首尾处的空白字符(或者其他字符)

rtrim —— 删除字符串末端的空白字符(或者其他字符)

ltrim —— 删除字符串开头的空白字符(或其他字符)

str_pad — 使用另一个字符串填充字符串为指定长度

str_replace — 子字符串替换

addslashes — 使用反斜线引用字符串

stripslashes — 反引用一个引用字符串

substr — 返回字符串的子串

nl2br — 在字符串所有新行之前插入 HTML 换行标记

htmlspecialchars —禁止script执行(防病毒)

strcasecmp — 二进制安全比较字符串(不区分大小写)

strcmp — 二进制安全字符串比较

strncmp — 二进制安全比较字符串开头的若干个字符

strnatcmp — 使用自然排序算法比较字符串

substr_replace — 替换字符串的子串

strrev — 反转字符串

md5 — 计算字符串的 MD5 散列值(加密后不能解!!)

mb_strlen — 获取字符串的长度(处理中文)

mb_substr — 获取字符串的部分(处理中文)【功能:字符串截取】

array():声明数组

Foreach: 遍历数组

$_POST:(在网页中显示大量数据)

explode():字符串转换为数组

<?php

$str="张三,李四,王五,赵六";

$arr=explode('.',$str);

print_r($arr);

?>

Implode():数组转化为字符串

<?php

$str="张三","李四","王五","赵六";

$arr=implode('-',$str);

print_r($arr);

?>

Array_search():查询

Array_pop():将数组最后一个单元弹出(出栈)

<?php

$stack  = array( "orange" ,  "banana" ,  "apple" ,  "raspberry" );

$fruit  =  array_pop ( $stack );

print_r ( $stack );

?>

Array_push():将一个或多个单元压入数组的末尾(入栈)

<?php

$stack  = array( "orange" ,  "banana" );

array_push ( $stack ,  "apple" ,  "raspberry" );

print_r ( $stack );

?>

Array_unipue():去除重复值

array_combine(): 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_slice (): 从数组中取出一段

array_merge (): 合并一个或多个数组

------------------------7-文件系统------------------------------

fopen()打开文件

$a=”路径/文件名”;

$fp=fopen($a,’r’);

r wa,  r不创建  w 覆盖  a不盖(常用a+读写方式打开)四个参数”

$fwrite($fp,$str);写入文件也可用fputs()是发write()的别名函数   或   file_put_contents()只保留最后一次数据等三种写入文件方法…fclose()关闭文件

Eg:

$file = “C:/window/index.php”; - array(

$aa = pathinfo($file); - [dirname]=>C:/windows

print_r($file); - [basename]=>index.php

- [extension]=>php

- [filename]=>index

------------------------------------正则表达式------------------------------

preg_match_all() //进行全局正则表达式匹配

preg_replace() //执行正则表达式的搜索和替换

preg_math() //进行正则表达式匹配

正则表达式

$aa = “/ ab + c /”; //模板

$str = “abcefg”; //原字符串

preg_math($aa, $str ,$result);

echo ($result[0]); //输出结果

------------------------------------------9--------------------------------------

http://127.0.0.1/phpMyAdmin/    root  root

连接数据库:mysql_connect(‘localhost’,’root’,’root’)_地址,账号,密码

选择数据库:mysql_select_db  or die (“数据库切换失败”)

设置编码格式:mysql_query(‘set  names  utf8’);

执行sql 语句:$ret=mysql_query($sql)

Mysql_free_result:释放结果集

Mysql_close: 关闭数据库

-------------------------------------------10-图像操作----------------------------

<?php

Header(‘Content-type:image/png’);

①创建画布:----------- $img = imagecreatetruecolor(500,300);

②颜色: ------------ $color = imagecolorallcate($img,255,0,0);

③上色:(填充) ------- $imagefill($img,0,0,$color);

④输出: ---------- imagepng($img);

//销毁图像 -----------imagedestroy($img);

?>

-------------------------11-会话管理-------------------------

① 启动会话:session_start();//之前不能有任何输出

② 注册会话:$_SESSION[“id”] = ‘1001’;(默认20分钟,关闭浏览器也失效)

③ 使用会话:$myvalue = $_SESSION[‘id’];

④ 删除会话:unset($_SESSION[‘name’]);

删除单个会话:unset()函数unset($)_SESSION[‘name’];

$_SESSION = array( ); //一次注销所有的会话变量:

Session_destroy( ); //结束会话!

Cookie:【客户端】从一个Web页面到下一个页面的数据传递方法,

Session:【服务器端】让数据在页面中持续有效的方法

-------------------------12-面向对象基础-------------------------

构造方法:__ __ construct(参数)

1:一个类中只能声明一个构造方法

2:只有在每次创建对象的时候都会去调用一次构造方法

3:不能主动的调用这个方法

4:通常用它来执行一些有用的初始化任务

析构方法:__ __ destruct ( )

1:在销毁一个类之前的一些操作或完成一些功能(eg:关闭文件,释放结果集)

2:对象在内存中被销毁前调用[析构函数]

-------------------------json-------------------------

①:并列的数据之间用逗号(“ , ”)分割

②:映射用冒号          (“ : ”)分割

③:并列数据的集合(数组)用方括号(“ [ ] ”)表示

④:映射的集合(对象)用大括号(“  {  } ”)表示

echo json_encode($arr);

-------------------------Smarty-------------------------

Assign()方法

eg:$smarty->assign(“title”,”网页标题”);

display()方法:

eg:$smarty->display(“index.html”);

<?php

$smarty->clear_all_cache( );//清楚所有的缓存

//smarty的配置

define('PATH',dirname(__FILE__));//定义常量

require_once PATH.'/smarty/libs/smarty.class.php';

$smarty = new Smarty();

$smarty->template_dir = PATH. '/smarty/tpls/templates';

$smarty->compile_dir = PATH. '/smarty/tpls/templates_c';

$smarty->config_dir = PATH. '/smarty/tpls/configs';

$smarty->cache_dir = PATH. '/smarty/tpls/cache';

$smarty->left_delimiter = '<{'; //重新设置smarty的界定符

$smarty->right_delimiter = '}>';

?>

--------------------------------------------------------------------------------------------------邓总随笔

上一篇:ThinkPHP 3.1.2 模板中的变量


下一篇:TFS二次开发系列:三、TFS二次开发的第一个实例