php的一些小知识(长期更新)

1.什么是面向对象,主要特征是什么?

面向对象是程序的一种设计方式,可以提高程序的重用性,使程序更清晰,主要特征有:继承,封装,多态。

2.编程采用用MVC三层结构,请问这三层是哪三层,优点是什么?

分别为模型层,控制层,视图层,由控制层调用模型层处理数据,然后将数据传输到视图层去显示。

优点:①提高代码的重用性,避免的代码冗余。②将视图层和模型层分开,同一个程序有不同的表现形式。

3.php是否可以搭配其他数据库使用

可以的,但是php+mysql是最优先的搭配方式,但是搭配其他数据库也可以使用,例如:Oracle,SqlServer等数据库。

4.在做程序开发的时候如何提高程序的运行效率。

①优化sql语言,尽量不使用select *做查询,需要查询哪个字段就查询哪个字段,少用join表连接查询,少用模糊查询。

5.ajax的优势是什么

ajax是异步传输技术,可以使用JavaScript实现,也可以通过jQuery实现,通过实现实时刷新,提高用户的使用体验。

6.web开发里面传输数据有哪些方式,这些方式有什么区别。

传输数据的方式有post与get方式

区别:①数据传输方式:get是通过拼接url传输,post是通过body体进行传输。

②url:get因为是通过utl拼接,所以get传输方式可以在url上面看得见,post看不见。

③传输大小限制:get因为是url拼接传输,所以有大小限制,但是这个大小也是根据具体的不同浏览器来约束,例如谷歌是8182,火狐是65536,其他各有不同。post因为是post.ini来配置,可以无穷大。

④是否可以缓存:get可以在浏览器上面缓存,但是post不可以。

7.为什么说php的一大优点是跨平台

php开发的最优搭配是php+MySQL+Apache,此搭配可以在任何服务器上面开发,例如Windows,Linux等平台上面开发,不受平台的约束限制,所以说叫做跨平台。

8.isset()和empty()的区别

isset()判断变量是否存在,可以判断一个,也可以判断多个变量,只要其中一个变量不存在就返回false。empty()判断变量是否为空为假,只能判断一个变量,如果为空为假则返回true。

9.char与varchar的区别

char:为固定长度字符类型,分配多少就占多大的空间。

varchar:为可变长度字符类型,内容有多大就占多大。

10.session与cookie的区别是什么

①cookie可以存储在浏览器或者本地上面,session只存储在服务器上面。

②cookie只能存储string对象,而session可以存储任意的java对象。

③session比cookie更安全,因为cookie可以被人从本地或者服务器上面找到,从而被攻击。

④cookie有大小限制,session没有大小限制。

11.php的三种注释

// 用于单行注释,但是注释内容里面不能出现<??>

/*  */ 用于多行注释,

# 用于单行注释

12.变量类型

①php里面有八种变量类型:Boolean(布尔类型),int(整形),float(浮点型),double(双精度),string(字符串),array(数组),object(对象),resource(资源类型),null(空)

②php变量都是$符号定义

③php单引号为原样输出,双引号为字符转义,示例代码如下:

$test = 1;
echo '$test';//输出为$test
echo "$test";//输出为1

13.三元运算符

$num = 12;
echo $num1%2==0 ? '偶数' : '奇数';//12取余2是否等于0,等于就输出偶数,否则就是奇数

14.foreach的语法结构

$test = array("1"=>'高等数学',"2"=>'中等数学',"3"=>'低等数学');
foreach($test as $key=>$value){
    echo:'当前键为:'.$key.'当前值为:'.$value;
}

15.php合并数组有哪几种方式,每一种都是如何实现的?

①array_merge()一种简单的合并方式

②array_merge_recursive()如果两个数组有相同的数据,将他们递归合并

③array_combine()与‘+’两者都是相同的效果,前一个数组的值作为后一个数组的键

参考代码如下:

//array_merge()方法
$a1=array("1","2");
$a2=array("2","3");
$result = array_merge($a1,$a2);
print_r($result);
//输出的结果为:
Array
(
    [0] => 1
    [1] => 2
    [2] => 2
    [3] => 3
)
//array_merge_recursive()方法
$ar1 = array("a" => array("b" => "c"), 1);
$ar2 = array(2, "a" => array("b" => "d", "e"));
print_r(array_merge_recursive($ar1,$ar2));
//输出结果为:
Array
(
    [a] => Array
    (
        [b] => Array
        (
            [0] => c
            [1] => d    
        )
        [0] => e
    )
    [0] => 1
    [1] => 2
)
//array_combine 和 '+'方法
$ar1=array("a","b","c");
$ar2=array("1","2","3");
print_r(array_combine($ar1,$ar2));
//输出结果为:
Array
(
    [a] => 1
    [b] => 2
    [c] => 3
)

16.如何定义一个函数?函数区分大小写吗?

①使用function关键字

②函数命名规则跟变量一样,以字母或者下划线为开头,不能以数字开头

③函数名不区分大小写

④函数名不可以使用已经声明过的或者系统自建的函数名称

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_(:* 」∠)_alray

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值