日常知识点

本文详细介绍了PHP中empty()函数的使用方法,strmp()函数的特性与应用场景,以及switch-case语句的工作原理。此外,还讲解了PDO与mysqli在处理数据库错误时的不同方式,并对比了静态链接库与动态链接库的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,”“、0、”0”、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。

首先要理解strmp(str1str2)函数的意思,比较两个字符串的大小,比较时计算了两个字符串相差(不同)字符的个数一起作为返回
情况如下:
1、str1==str202str1 > str2 返回 1
3、$str1 < str2 返回 -1

注意:对于第2、3种情况,上面列出的只是返回结果的符号而已,并不是最终的结果
最终返回结果是: 所返回的符号乘上两个字符串相比不相同的字符个数

对于本题来说, str=LAMP;str1 = “LAMPBrother”;
两个字符串不相同的字符有7个,且 str<str2,返回符号为 -1
所以最终返回的结果为 -7 (-1 * 7)

switch 条件判断case语句都没有匹配的,跳到default:所以执行 echo“str <> str1”;

三元运算符是水平层级的运算,而多层if嵌套是一种递进的运算。无法表示的

子类继承父类,子类的构造函数会覆盖父类的构造函数

属性不能被定义为 final,只有类和方法才能被定义为 final。

实例化A时只会触发__construct()的语句而不触发publicstaticnum=0;num是static,所以会加三次、

对象的复制是通过引用来实现的,a=newA();b=a;a=new A();b=a;

抽象类可以是个空类,也就是不一定需要有抽象方法。但抽象方法只能存在抽象类中。

__call方法在调用对象中不存在的方法时自动调用的。

在早期php版本中会使用类名定义构造方法,新的PHP版本中推荐使用__construct()来定义。

get_class_vars — 返回由类的默认属性组成的数组 get_class_methods — 返回由类的方法名组成的数组 get_class — 返回对象的类名

PDO::ATTR_ERRMODE: 错误提示 .
PDO::ERRMODE_SILENT: 不显示错误信息,只显示错误码 .
PDO::ERRMODE_WARNING: 显示警告错误 .
PDO::ERRMODE_EXCEPTION: 抛出异常 .

mysqli的num_rows 返回DQL语句的结果集行数,affected_rows取回DML语句受影响行数

1 静态链接库的优点

(1) 代码装载速度快,执行速度略比动态链接库快;

(2) 只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题,可避免DLL地狱等问题。

2 动态链接库的优点

(1) 更加节省内存并减少页面交换;

(2) DLL文件与EXE文件独立,只要输出接口不变(即名称、参数、返回值类型和调用约定不变),更换DLL文件不会对EXE文件造成任何影响,因而极大地提高了可维护性和可扩展性;

(3) 不同编程语言编写的程序只要按照函数调用约定就可以调用同一个DLL函数;

(4)适用于大规模的软件开发,使开发过程独立、耦合度小,便于不同开发者和开发组织之间进行开发和测试。

3 不足之处

(1) 使用静态链接生成的可执行文件体积较大,包含相同的公共代码,造成浪费;

(2) 使用动态链接库的应用程序不是自完备的,它依赖的DLL模块也要存在,如果使用载入时动态链接,程序启动时发现DLL不存在,系统将终止程序并给出错误信息。而使用运行时动态链接,系统不会终止,但由于DLL中的导出函数不可用,程序会加载失败;速度比静态链接慢。当某个模块更新后,如果新模块与旧的模块不兼容,那么那些需要该模块才能运行的软件,统统撕掉。这在早期Windows中很常见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值