jquery 字符 长度-【笔试】看看php,总会遇到的!不妨加强一下

一义、二义、三义、四义:

1.新闻系列

2、成功系列

3.重定向系列

4. 为错误系列辩护

五。 服务器端错误系列

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 变长字符

日期时间日期时间类型

文本类型

Varchar 和 char 的区别在于 Char 是定宽字符类型,它分配多少空间就占用多少空间。 Varchar是一种变宽字符类型,内容有多少空间就占用多少空间,可以有效节省空间。 由于varchar类型是可变的,当数据宽度变化时服务器需要执行额外的操作,因此效率比char类型低。

6.MyISAM和InnoDB之间的基本区别是什么? 索引结构如何实现?

MyISAM类型不支持事务、表锁,并且容易产生碎片。 需要经常优化jquery 字符 长度,读写速度较快jquery 字符 长度,而InnoDB类型支持事务、行锁,具有崩溃恢复能力。 读写速度比MyISAM慢。

创建索引:alerttabletablenameaddindex(`数组名称`)

7.不要使用cookies向客户端发送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、隐藏表单

10. 编写匹配 URL 的正则表达式。

/^(https?|ftps?)://(www).([^./]+).(com|cn|org)(/[w-./?%&=]*)?/i

11.请编写一个常用的排序算法,并使用PHP实现冒泡排序,将字段$a=array()从小到大排序。

常见的排序算法:

冒泡排序,

快速排序,

简单的选择排序,

堆排序,

直接插入排序,

希尔排序法,

归并排序方法。

冒泡排序方法的基本思想是从后到前(降序)多次扫描待排序记录的关键字。 当发现两个相邻关键字的顺序与排序要求不一致时,将对两条记录进行交换。 这样,关键字较小的记录就会从前到前逐渐连接起来,就像水底向下漂浮的气泡一样,所以这种算法也称为冒泡排序法。

//冒泡排序

function mysort($arr){
    for($i=0;$i<count($arr); $i++){

        for($j=0; $j<count($arr)-1-$i; $j++){

            if($arr[$j]> $arr[$j+1]){

                $tmp=$arr[$j];
                $arr[$j]=$arr[$j+1];
                $arr[$j+1]=$tmp;
            }
        }
    }
    return $arr;
}

$arr=array(3,2,1);
print_r(mysort($arr));

12.请解释一下PHP中按值传递和按引用传递的区别。 何时按值传递,何时按引用传递?

按值传递:函数范围内对值的任何更改在函数外部都会被忽略

通过引用传递:对函数范围内的值的任何更改也会反映在函数外部

相同点和不同点: 当按值传递时,PHP 必须复制该值。 特别是对于小字符串和对象,这可能是一项昂贵的操作。 通过引用传递不需要复制值,这对于性能提升非常有用。

13. PHP中error_reporting的作用是什么?

设置PHP的错误级别并返回当前级别。

14. 请使用正则表达式(RegularExpression)编写一个函数来验证电子信息的格式是否正确。

if(isset($_POST['action']) && $_POST['action']==’submitted’){
    $email=$_POST['email'];

    $var_email= "/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+(.[0-9a-zA-Z-]+){1,3}$/"
    if(!preg_match($var_email,$email)){

        echo“电子邮件检测失败”;

    }else{
        echo“电子邮件检测成功”;
    }
}

15.写一个二维字段排序算法函数,可以通用,可以调用php外部函数(array_multisort())

//二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序
function array_sort($arr, $keys, $order=0) {
    if(!is_array($arr)) {
        return false;
    }

    $keysvalue =array();
    foreach($arr as $key => $val) {
        $keysvalue[$key] = $val[$keys];
    }


    if($order == 0){
        asort($keysvalue);
    }else {

        arsort($keysvalue);
    }

    reset($keysvalue);
    foreach($keysvalueas $key => $vals) {
        $keysort[$key] = $key;
    }

    $new_array =array();
    foreach($keysortas $key => $val) {
        $new_array[$key] = $arr[$val];
    }
    return $new_array;
}

16. 请将字符串'AppleOrangeBananaStrawberry'以空格为间隔分割,形成字段$fruit,

*该字段中的所有元素均大写并按字母顺序排序

class sort {
    private $str;
    public function __construct($str) {
        $this->str=strtolower($str);
    }

    private function explodes() {
        if(empty($this->str)) returnarray();
        $arr=explode("",$this->str);
        return is_array($arr)?$arr:array($arr);
    }

    public function sort() {
        $explode=$this->explodes();
        sort($explode);
        return $explode;
    }
}

$str='Apple Orange Banana Strawberry';
$sortob=new sort($str);
var_dump($sortob->sort());

17、用户输入一串字符串$string,要求$string只能包含小于0的数字和英文逗号,请使用正则表达式验证,不符合的$string返回错误信息要求

class regx {
    public staticfunction check($str) {
        if(preg_match("/^([1-9,])+$/",$str)){
            return true;
        }

    return false;
    }
}

$str="12345,6";
if(regx::check($str)) {

    echo "suc";
else {

    echo "fail";
}

18、windows平台上ApacheHttpServer启动失败,排查思路是什么?

检查apache使用的80端口是否被占用。 如果被占用,先停止占用80端口的服务,然后启动apache服务器

19PHPsession扩展默认将会话数据存储在哪里?

A) SQLite数据库

B)MySQL数据库

C) 共享内存

D)文件系统

E) 会话服务器

答案:D

20.如果要手动加载类,下列哪个函数声明是正确的

A) 函数自动加载($class_name)

B) function__autoload($class_name,$file)

C) 函数__autoload($class_name)

D) function_autoload($class_name)

E) 函数自动加载($class_name, $file)

答案:C

21、PHP程序使用utf-8编码,下列程序的输出结果是什么?

A) 9 B) 13 (gbk) C) 18 D) 17 (utf8)

答案:B

22. 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()----移除数组中重复的值

23、php读取文件内容有多少种方法和函数?

打开文件以供稍后阅读。 fopen() fread()

打开读取一次即可完成file_get_contents()

24. 在下面的程序中,输入111是变量str的哪个值?

if(!$str){echo111;}

$str中的值: 0, '0', false, null, ""

25.你了解PHP的一些技术(smarty等)吗?

Smarty, jquery, ajax, memcache, div+css, js,mysqli,pdo,svn,thinkphp,brophp,yii

26. 谈谈你对缓存技术的理解?

1、缓存技术是将动态内容缓存在文件中,在一定时间内访问动态页面直接调用缓存文件,无需重新访问数据库。

2.使用memcache进行缓存。

27.你知道哪些设计模式?

鞋厂模式、策略模式、单元素模式、观察者模式、命令链模式

28. 谈谈你对代码管理的理解? 经常使用这些代码版本控制软件?

一般来说,一个项目是由一个团队开发的。 每个人将自己写好的代码提交到版本服务器,项目负责人按照版本进行管理,方便版本控制,提高开发效率,保证需要的时候可以返回旧版本。 。

常用的版本控制器:SVN、GIT

29. 谈谈你对SVN的理解? 共同点和不同点?

SVN是版本控制器,程序员开发的代码提交到版本服务器集中管理。

SVN的优点:代码集中管理、版本控制方便、操作相对简单、权限控制方便。

缺点:不能随便更改服务器项目文件夹。

30.如何找到PHP.ini的路径?

一般在php的安装目录下,或者在window系统的windows目录下。

31. PHP加速模式/扩展? PHP 调试模式/工具?

ZendOptimizer 加速扩展

调试工具:xdebug

32、下面的程序中,当变量str的值输入111时?

if(!$str){echo111;}

$str中的值: 0, '0', false, null, ""

33.你经常使用哪些mysql命令?

进入mysql管理命令行的命令?
Mysql -u root -p 回车密码

show databases; 这个命令的作用?
显示当前mysql服务器中有哪些数据库

show create database mysql; 这个命令的作用?
显示创建数据库的sql语句

show create table user; 这个命令的作用?
显示创建表的sql语句

desc user; 这个命令的作用?
查询user表的结构

explain select * from user; 这个命令的作用?
获取select相关信息

show processlist; 这个命令的作用?
显示哪些线程正在运行

SHOW VARIABLES; 这个命令的作用?
显示系统变量和值

SHOW VARIABLES like ’%conn%’; 这个命令的作用?
显示系统变量名包含conn的值

LEFT JOIN 写一个SQL语句?
SELECTA.id,A.class FROM A LEFT JOIN B ON A.cid=B.id

34、in、notni、exist、notexist的作用和区别是什么?

其中

Notin 不在其中

存在 存在

注意 不存在

35.解释一下Linux下安装PHP的过程?

安装软件之前先安装编译工具gcc、gcc-c++
拷贝源码包,解包解压缩

cd /lamp/php进入php目录
./configure–prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc 
指定安装目录和配置文件目录

Make 编译
Make install安装

36、解释一下Linux下安装Mysql的过程?

groupadd mysql 添加一个用户组mysql
useradd -gmysql mysql 添加一个mysql用户指定分组为mysql
cd /lamp/mysql 进入mysql目录
./configure–prefix=/usr/local/mysql/ –with-extra-charsets=all
Make
Make all

37、描述一下Linux下安装apache的过程?

cd /lamp/httpd 进去apache软件目录
./configure–prefix=/usr/local/apache2/ –sysconfdir=/etc/httpd/ –with-included-apr
Make
Make all

38、请写一段ajax提交的js代码,或者写出ajax提交的流程逻辑。

var xmlhttp;
if(window.XMLHttpRquest){
    xmlhttp=newXMLHttpRequest();

}elseif(window.ActiveXObject){
    xmlhttp=newActiveXObject(‘Microsoft.XMLHTTP’);
}

xmlhttp.open(‘GET’,’1.php?aa=name’,true);

xmlhttp.onreadystatechange=function(){

    if(xmlhttp.readyState==4){
        if(xmlhttp.status==200){
            var text=xmlhttp.responseText;
        }
    }
}
xmlhttp.send(null);

39、讲解Cookie的设置和获取过程

设置COOKIE的值:

Setcookie(名称、值、保存时间、有效域);

获取值:$_COOKIE['name'];

40、面向对象中socket和具体类有什么区别和应用场景?

1、具有具体方法的类称为具体类。 具体类中不一定只有具体方法,具体方法必须用abstract关键字定义。

2.所有接口都是具体方法,方法不需要通过抽象来定义。

3、当多个同类型的类需要设计下层时,一般设计为具体类。 当多个异构类需要设计下层时,一般设计为socket。


文章首发:

以上是本文的全部内容,希望对大家的学习有帮助,觉得有用,就需要就支持一下吧!