php数组分组-这是一道非常有用的PHP面试题(3)

2023-09-04 0 4,546 百度已收录

一二三四上一: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];

php数组分组-这是一道非常有用的PHP面试题(3)

$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) 共享内存

php数组分组-这是一道非常有用的PHP面试题(3)

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的过程?

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 php php数组分组-这是一道非常有用的PHP面试题(3) https://www.wkzy.net/game/192600.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务