一二三四上一:1.消息系列2.成功系列3.重定向系列4.请求错误系列5.服务器端错误系列
302:临时转移成功,请求的内容已移动到新位置 403:严格禁止访问 500:服务器内部错误 401 表示未经授权。
4、Linux下构建压缩包和解压包的命令
tar.gz:
打包:tarczffile.tar.gzfile.txt
解压:tarxzffile.tar.gz
Bz2:
打包:bzip2[-k]文件
解压:bunzip2[-k] 文件
Gzip(仅针对文件,不保留原始文件)
打包:gzipfile1.txt
解压:gunzipfile1.txt.gz
Zip:-r 到目录
打包:zipfile1.zipfile1.txt
解压:unzipfile1.zip
5、请写出数据类型(intcharvarchardatetimetext)的含义; varchar 和 char 有什么区别?
int 整型 char 定长字符 Varchar 变长字符 Datetime 日期时间类型 Text 文本类型 Varchar 与 char 的区别在于 char 是定宽字符类型,分配多少空间,就占用多少空间。 Varchar 是一种可变宽度字符类型。 内容有多少就占用多少空间,可以有效节省空间。 由于varchar类型是可变的,当数据宽度变化时服务器要执行额外的操作,因此效率比char类型低。
6.MyISAM和InnoDB之间的基本区别是什么? 索引结构如何实现?
MyISAM类型不支持事务、表锁,并且容易产生碎片。 需要经常优化,读写速度较快,而InnoDB类型支持事务、行锁,具有崩溃恢复能力。 读写速度比MyISAM慢。
创建索引:alerttabletablenameaddindex(`数组名称`)
7. 不使用cookie,向客户端发送cookie。
理解:当session_start()开启时,会生成一个常量SID。 当COOKIE打开时,该常量为空。 当 COOKIE 关闭时,PHPSESSID 的值存储在该常量中。 通过在URL后面添加SID参数来传递SESSIONID的值,这样客户端页面就可以使用SESSION上面的值。 当客户端打开COOKIE,服务器打开SESSION。当浏览器第一次请求时,服务器会发送一个COOKIE给浏览器来存储SESSIONID。 当浏览器第二次请求时,会保存已有的SESSIONID
8.isset()和empty()的区别
Isset 判断变量是否存在。 可以传入多个变量,如果其中一个变量不存在,则返回false。 empty 确定变量是否为空。 只能传递一个变量。 如果为空或 false,则返回 true。
9、如何在页面之间(至少两种形式)传递变量? GET、POST、COOKIE、SESSION、隐藏表单
1. 编写与 URL 匹配的正则表达式。
'/^(https?|ftps?)://(www).([^./]+).(com|cn|org)(/[w-./ ?%&=]*)?/i'
2、请编写一个常用的排序算法,并使用PHP实现冒泡排序,将字段$a=array()从小到大排序。
常见的排序算法:冒泡排序、快速排序、简单选择排序、堆排序、直接插入排序、希尔排序、归并排序。
冒泡排序方法的基本思想是:从后到前(降序)扫描待排序记录的关键字,当发现两个相邻关键字的顺序与所需要的规则不一致时通过排序,两条记录已排序。 进行交换。 这样,关键字较小的记录就会从前到前逐渐连接起来,就像水底向下漂浮的气泡一样,所以这种算法也称为冒泡排序法。
//冒泡排序法
函数mysort($arr){
对于($i=0;$i
对于($j=0;$j
如果($arr[$j]>$arr[$j+1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
返回$arr;
$arr=数组(3,2,1);
print_r(mysort($arr));
3. 请解释一下PHP中按值传递和按引用传递的区别。 什么时候传递值,什么时候传递引用?
按值传递:函数范围内对值的任何更改在函数外部都会被忽略
通过引用传递:对函数范围内的值的任何更改也会反映在函数外部
相同点和不同点: 当按值传递时,PHP 必须复制该值。 特别是对于小字符串和对象,这可能是一项昂贵的操作。 通过引用传递不需要复制值,这对于性能提升非常有用。
PHP中error_reporting的作用是什么?
设置 PHP 的错误报告级别并返回当前级别。
请使用正则表达式(RegularExpression)编写一个函数来验证电子信息的格式是否正确。
if(isset($_POST['action'])&&$_POST['action']=='已提交'){
$email=$_POST['电子邮件'];
if(!preg_match(“/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+(.[0-9a-zA-Z-]+){1,3 }$/”,$电子邮件)){
echo "邮件检查失败";
}别的{
echo "邮件检查成功";
通过编写二维链表排序算法函数,可以通用,可以调用PHP外部函数(array_multisort())
//二维链表排序,$arr为数据,$keys为排序的键值,$order为排序规则,1为倒序,0为倒序
functionarray_sort($arr,$keys,$order=0){
if(!is_array($arr)){
返回假;
$键值=数组();
foreach($arras$key=>$val){
$keysvalue[$key]=$val[$keys];
如果($订单==0){
排序($keysvalue);
}别的{
排序($键值);
重置($键值);
foreach($keysvalueas$key=>$vals){
$keysort[$key]=$key;
$new_array=数组();
foreach($keysortas$key=>$val){
$new_array[$key]=$arr[$val];
返回$new_array;
请使用空格作为间隔,将字符串'AppleOrangeBananaStrawberry'分割成一个链表$fruit。
*链表中所有元素均为大写字母,并按字母顺序排序
类排序{
私人$str;
公共函数__construct($str){
$this->str=strtolower($str);
私有函数爆炸(){
if(空($this->str))returnarray();
$arr=爆炸("",$this->str);
returns_array($arr)?$arr:array($arr);
公共函数排序(){
$explode=$this->explodes();
排序($爆炸);
返回$爆炸;
$str='苹果橙香蕉草莓';
$sortob=newsort($str);
var_dump($sortob->sort());
用户输入一串字符串$string,要求$string只能包含小于0的数字和英文冒号php数组分组,请使用正则表达式验证,对于不符合要求的$string返回错误信息
类正则表达式{
公共静态函数检查 ($str) {
if(preg_match("/^([1-9,])+$/", $str)){
返回真;
返回假;
$str="12345,6";
if(regx::check($str)){
回声“成功”;
}别的{
回显“失败”;
在windows平台上,ApacheHttpServer无法启动。 排查思路有哪些?
检查apache使用的80端口是否被占用。 如果被占用,先停止占用80端口的服务,然后启动apache服务器。
PHP会话扩展默认在哪里存储会话数据?
A) SQLite数据库
B)MySQL数据库
C) 共享内存
D)文件系统
E) 会话服务器
如果要手动加载一个类,C语言中下列哪个函数声明是正确的
A) 函数自动加载($class_name)
B) function__autoload($class_name,$file)
C) 函数__autoload($class_name)
D) function_autoload($class_name)
E) 函数自动加载($class_name, $file)
PHP程序使用utf-8编码,下列程序的输出结果是什么? 乙
A) 9 B) 13 (gbk) C) 18 D) 17 (utf8)
你知道php链表相关的函数吗?
array()----创建链表
array_combine()----通过组合两个字段创建一个新的链表
range()----创建并返回包含指定范围元素的字段
Compact()----构建链表
array_chunk()----将一个链表分割成多个
array_merge()----将两个或多个数组合并成一个链表
array_slice()----根据条件取出链表中的一个值
array_diff()----返回两个字段的差异集列表
array_intersect()----估计链表的交集
array_search()----在链表中搜索给定值
array_splice()----删除部分链表并替换
array_key_exists()----判断某个字段中是否存在指定的key
shuffle()----以随机顺序重新排列链表中的元素
array_flip()----交换链表中的键和值
array_reverse()----反转原链表中元素的顺序,创建新链表并返回
array_unique()----去除链表中的重复值
PHP读取文件内容的几种方式和函数?
打开文件以供稍后阅读。 fopen() fread()
打开读取一次即可完成file_get_contents()
在下面的程序中,当变量str的值输入111时?
if(!$str){echo111;}
$str中的值: 0, '0', false, null, ""
你了解PHP的一些技术(smarty等)吗?
Smarty、jquery、ajax、memcache、div+css、js、mysqli、pdo、svn、thinkphp、brophp、yii
您熟悉的PHP峰会系统有哪些?
迪斯库兹
您熟悉的PHP商城系统有哪些?
商城
您熟悉的PHP开发框架有哪些?
布罗PHP、ThinkPHP
告诉我你对缓存技术的了解吗?
1、缓存技术是将动态内容缓存在文件中,在一定时间内访问动态页面直接调用缓存文件,无需重新访问数据库。
2.使用memcache进行缓存。
你知道哪些设计模式?
鞋厂模式、策略模式、单元素模式、观察者模式、命令链模式
告诉我你对代码管理的了解吗? 经常使用这些代码版本控制软件?
一般来说php数组分组,一个项目是由一个团队开发的。 每个人将自己写好的代码提交到版本服务器,项目负责人按照版本进行管理,方便版本控制,提高开发效率,保证需要的时候可以返回旧版本。 。
常用的版本控制器:SVN
告诉我你对 SVN 的了解吗? 共同点和不同点?
SVN是版本控制器,程序员开发的代码提交到版本服务器集中管理。
SVN的优点:代码集中管理、版本控制方便、操作相对简单、权限控制方便。
缺点:不能随便更改服务器项目文件夹。
如何找到PHP.ini的路径?
一般在php的安装目录下,或者在window系统的windows目录下。
PHP加速模式/扩展? PHP调试模式/工具?
ZendOptimizer 加速扩展
调试工具:xdebug
你常用什么mysql命令?
显示数据库
演出表
插入表名()值()
更新表名 set array = value where...
从表名中删除...
Select*from 表名 where 条件 orderby...Desc/asclimit...Groupby...Having...
进入mysql管理命令行?
mysql -uroot -p 输入密码
显示数据库; 这个命令有什么作用?
显示当前mysql服务器中有哪些数据库
显示创建的数据库mysql; 这个命令有什么作用?
显示创建数据库的sql语句
显示创建表用户; 这个命令有什么作用?
显示创建表的sql语句
descuser;这个命令有什么作用?
查询用户表的结构
解释select*fromuser;这个命令的作用是什么?
获取选择相关信息
显示进程列表; 这个命令有什么作用?
显示正在运行的线程
SHOWVARIABLES;这个命令有什么作用?
显示系统变量和值
SHOWVARIABLESlike '%conn%'; 这个命令有什么作用?
显示包含conn的系统变量名的值
LEFTJOIN要写一个SQL语句吗?
SELECTA.id,A.classFROMALEFTJOINBONA.cid=B.id
in、notni、exist 和 notexist 的作用和区别是什么?
其中
诺丁不在其中
存在
注意 不存在
如何找到数据库的配置文件路径?
在数据库安装目录下,my.ini
讲解一下Linux下安装PHP的过程?
安装软件前先安装编译工具gcc、gcc-c++
复制源码包,解压并解压
cd /lamp/php 进入php目录
./configure–prefix=/usr/local/php–with-config-file-path=/usr/local/php/etc 指定安装目录和配置文件目录
进行编译
进行安装安装
讲解一下Linux下安装Mysql的过程?
groupaddmysql 添加用户组mysql
useradd -gmysqlmysql 添加一个mysql用户指定组为mysql
cd /lamp/mysql 进入mysql目录
./configure –prefix=/usr/local/mysql/ –with-extra-charsets=all
制作
马克奥尔
解释一下Linux下安装apache的过程?