关于PHP的100个小知识
第三期【41-60】
正文内容
41、===是什么?试举一个==是真但===是假的例子?
=== 是为全等于的意思。举例:
if (strpos('abc', 'a') == false){
// 这部分就执行了,0转换成了false
echo " strpos('abc', 'a') == false \n<br>";
}
if (strpos('abc', 'a') === false){
// 这不份没有执行,0不是fasle
echo " strpos('abc', 'a') === false \n<br>";
}
var_dump(strpos('abc', 'a'));// 这是提示:a出现在abc中第一个位置记为 0
42、如何修改SESSION的生存时间?
方法1:
将php.ini中的session.gc_maxlifetime设置为9999重启服务
方法2:
$savePath = "./session_save_dir/";
$lifeTime = 24*3600; //小时 * 秒
session_save_path($savePath);
session_set_cookie_params($lifeTime);
session_start();
方法3:
setcookie() session_set_cookie_params()
43、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?
heredoc的语法是用<<<加上自己定义成对的标签,在标签范围內的文字视为一个字符串
例如:
$str = <<<SHOW
my name is Eson !
SHOW;
44、在PHP中error_reporting这个函数有什么作用?
在第21个中有提到过。 设置错误级别与错误信息回报。
45、请写一个函数验证电子邮件的格式是否正确?
/**
* 检查是否正确的电子邮箱
* @param $email string
* @return bool
*/
public function checkout_email($email)
{
$pattern='/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/';
return preg_match($pattern,$email);
}
46、请写出数据类型(int char varchar datetime text)的意思?请问varchar和char有什么区别?
int是数字类型
char固定长度字符串
varchar实际长度字符串
datetime日期时间型
text文本字符串
char的场地固定为创建表设置的长度
varchar为可变长度的字符
47、检测一个变量是否设置?是否为空的函数是?
isset();// 检测变量是否设置
empty(); // 检测变量是否为空
48、取得查询结果集总数的函数是?
mysql_num_rows(); // 取得结果集中行的数目
49、简述如何得到当前执行脚本路径,包括所得到参数?
<?php
echo "http://{$_SERVER['SERVER_NAME']}{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}";
echo "\n<br>";
echo "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
50、请举例说明在你的开发过程中用什么方法来加快页面的加载速度?
- 要用到服务器资源时才打开。
- 及时关闭服务器资源。
- 数据库添加索引。
- 页面可生成静态,图片等大文件单独服务器。
- 使用代码优化工具。
51、使用自定义符号分割字符串成为数组?
explode();
52、如果用+操作符把一个字符串和一个整型数字相加,结果将怎样?
字符串将被丢弃,只保留整型数字
53、以下脚本输出什么?
<?php
$s = '12345';
$s[$s[1]] = '2';
echo "{$s}\n";
12245
54、以下脚本输出什么?
<?php
$x = 'apple';
echo substr_replace($x, 'x', 1, 2);
axle
55、读取文件函数论述:
函数fgets()能读取文本文件中的一行。读取二进制文件或者其他文件时,应当用fread()函数。
56、哪个函数能够往文本文件中写入一个字符串?
fwrite()和fputs()两个函数在这里都可以,而后者其实是前者的别名。在PHP中,写入二进制数据和写入字符串没有区别。
57、什么函数可以判断一个文件是否可写?
is_writable();
58、那个函数能将文件指针移到开头?
fseek(0, SEEK_SET);
59、include()于require()的不同点:
include()的功能和require()一样,不同的是,require()不能用在文件的中间。
50、下面建立与MySQL Server的连接语法:
$link=mysqli_connect("host_name","user_name","password");
$link=mysql_pconnect("host_name","user_name","password");
51、将字符串转换成小写:
strtolower() 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串
52、将字符转成大写:
strtoupper()该函数的作用同strtolower()函数相反,是将传入的字符参数的字符全部转换成大写,并以大写的形式返回这个字符串.用法同strtolowe()一 样
53、将字符串首字符转换成大写:
ucfirst()该函数的作用是将字符串的第一个字符改成大写,该函数返回首字符大写的字符串
54、将字符串每个单词的首字符转换成大写:
ucwords()该函数将传入的字符串的每个单词的首字符变成大写.如"hello world",经过该函数处理后,将返回"Hello Word".
55、NoSQL:Not Only SQL
思想:网站产生的数据,一部分存储数据库、一部分存到NoSQL相关产品
NoSQL产品
1、Memcache:内存(速度快、数据量小)、数据的过期时间
2、MongoDB:文档数据库
3、Redis:内存(速度快、数据量小)、库、没有过期时间
56、什么样的数据,存储在什么位置?
MySQL:稳定的数据
NoSQL:活跃的数据
57、缓存分类:
- 缓存数据存储位置不同 1)文件缓存 2)内存缓存
- 缓存的数据量的不同 1)页面缓存 2)局部缓存 3)局部不缓存 4)数据缓存(变量缓存、动态缓存)
Memcache:内存缓存、变量缓存
58、举例一些LINUX命令:
查看当前目录下所有内容ls
在当前目录下,新建一个文件夹mkdir 文件夹名
删除指定的文件夹rmdir 文件夹名只能删除空目录
在当前目录下新建一个空白文件touch 文件名
删除当前目录下的一个文件unlink 文件名
删除文件或文件夹rm
复制文件cp
移动文件或文件夹mv
文件或文件夹重命名mv
查看完整的工作目录pwd
切换目录:cd cd/ 返回根目录
文件传输ftp scp
查看文件内容cat 文件名 less 文件名
查看文件编码file 文件名
查找文件find 路径 -name 文件名
修改文件或文件夹权限:
权限种类:r 4(读)、w 2(写)、x 1(执行)
权限操作符:+(赋予权限)、-(收回权限)
用户种类:a(所有人)、u(文件拥有者)、g(组用户)、o(其他用户)
查看权限:ls -l
-rw-r--r-- a.txt
drwxr-xr-x hello
第1位:是文件还是文件夹(-文件、d文件夹)
第234位:u用户的权限
第567位:g用户的权限
最后三位:o用户的权限
1)将最大权限赋予a.txt
chmod a+r+w+x a.txt
chmod 777 a.txt
2)设置a.txt权限,收回o用户的wx权限
chmod o-w-x a.txt
4)设置a.txt权限:u:rw g:r o:r
chmod 644 a.txt
5)设置hello文件夹权,给予最大权限(不影响子文件)
chmod 777 hello
6)设置hello文件夹权,给予最大权限(影响子文件)
chmod -R 777 hello
59、创建文件exer1,设置访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,写出操作过程的命令:
touch exer1
chmod 644 exer1
增加权限
chmod a+x exer1
chmod g+w exer1
或者
chmod 775 exer1
60、易出现编码的地方:
- 文件保存格式的编码
<meta http-equiv=”content-type” content=”text/html;charset=utf-8”>Header();MySQL本身的编码(修改ini)Set names gbk;Mysql_query(“set names utf8”);iconv()函数PHP的系统函数进行转码
[hermit auto="1" loop="0" unexpand="1" fullheight="0"]remote#:12[/hermit]
