关于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、在PHPerror_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)的意思?请问varcharchar有什么区别?

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、请举例说明在你的开发过程中用什么方法来加快页面的加载速度?
  1. 要用到服务器资源时才打开。
  2. 及时关闭服务器资源。
  3. 数据库添加索引。
  4. 页面可生成静态,图片等大文件单独服务器。
  5. 使用代码优化工具。

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、NoSQLNot Only SQL

思想:网站产生的数据,一部分存储数据库、一部分存到NoSQL相关产品
NoSQL产品
1、Memcache:内存(速度快、数据量小)、数据的过期时间
2、MongoDB:文档数据库
3、Redis:内存(速度快、数据量小)、库、没有过期时间


56、什么样的数据,存储在什么位置?

MySQL:稳定的数据
NoSQL:活跃的数据


57、缓存分类:
  1. 缓存数据存储位置不同
    1)文件缓存
    2)内存缓存
  2. 缓存的数据量的不同
    1)页面缓存
    2)局部缓存
    3)局部不缓存
    4)数据缓存(变量缓存、动态缓存)
  3. 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、易出现编码的地方:
  1. 文件保存格式的编码
  2. <meta http-equiv=”content-type” content=”text/html;charset=utf-8”>
  3. Header();
  4. MySQL本身的编码(修改ini
    Set names gbk;
    Mysql_query(“set names utf8”);
  5. iconv()函数PHP的系统函数进行转码
00:00/00:00

顾北辰

?偶遇故人点头微笑^_^心像透明水滴☝没有喜悲…?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注