php不用于输出的函数,PHP常用函数和常见疑难问题解答

首先介绍下比较简单但必不可少且实用的知识,可以当手册查询,适合像我一样的新手看。

PHP常用库函数介绍

一、PHP字符串操作常用函数1.确定字符串长度

int strlen(string str)

2.比较两个字符串

a. strcmp函数对两个字符串进行二进制安全的比较,并区分大小写

int strcmp(string str1,string str2)

b. 以不区分大小写的方式比较两个字符串

int strcasecmp(string str1,string str2)

3.求两个字符串相同部分

int strspn(string str1,string str2)

4.求两个字符串的不同部分

5.int strcspn(string str1,string str2)

6.处理字符串大小写

a. 将字符串全部转换为小写

string strtolower(string str)

b. 将字符串全部转化为大写

string strtoupper(string str)

c. 将字符串第一个字符大写

string ucfirst(string str)

d. 把字符串中每个单词的首字符转换为大写

string ucwords(string str)

7.字符串与HTML相互转换

a. 将换行符转换为HTML终止标记

string bl2br(string str)

b. 将特殊字符转换wieldHTML等价形式(不解析格式)

string htmlentities(string str[,int quote_style[,int charset]])

string htmlspecialchars(string str[,int quote_style[,string charset]])

c. 将HTML转换为纯文本,移除所有的php和html标签

string strip_tags(string str[,string allowable_tags])

d. 将文本转换为HTML等价形式

array get_html_translaction_table(int table[,int quote_style])

e. 创建一个自定义的转换清单

string strtr(string str,array replacements)

8.正则表达式函数的替代函数

a. strtok函数根据预定义的字符串列表来解析字符串

string strtok(string str,string tokens):返回直到遇到tokens之前的所有内容

b. 根据预定义的定界符分析字符串

array explode(string separator,string str[,int limit]):分割字符串

c. 将数组转换为字符串

string implode(string delimiter, array array)

d. 找到字符串的第一次出现

int strpos(string str,string substr[,int offset])

e. 找到字符串的最后一次出现

int strrpos(string str,char substr[,offset])

f. 用另外一个字符串替代字符串的所有实例

mixed str_replace(string occurrence,mixed replacement,mixed str[,int count])

g. 获取字符串的一部分strstr返回字符串中预定义字符串第一次出现开始的剩余部分

string strstr(string str,string occurrence)

h. 根据预定义的偏移返回字符串一部分

string substr(string str,int start[,ing length]):start可为负数,表示倒数第几开始

i. 确定字符串出现的频率

int substr_count(string str,string substring)

j. 用另一个字符串替换一个字符串的一部分

string substr_replace(string str,string replacement,int start[,int length])

9.填充和剔除字符串

a. 从字符串开始出裁剪字符

string ltrim(string str[,string charliset])

b. 从字符串结尾裁剪字符

string rtrim(string str[,string charliset])

c. 从字符串两端裁剪字符

string trim(string str[,string charliset])

d. 填充字符串

string str_pad(string str,int length[,string pad_string[,int pad_type]])

10.字符和单词计数

a. 字符串中字符计数

mixed count_chars(string str[,mode])

b. 字符串中单词总数计数

mixed str_word_count(string str[,int format])

二、PHP Web开发中常用的三个表单验证函数

(1)isset();——适合于检测是否存在这个参数。用来避免引用不存在的变量

定义和作用范围:用于测试一个变量是否具有值(包括0,FALSE,或者一个空字串都返回true,但不能是NULL),即:“http://localhost/?fo=”也是可以通过检测,因此不适用。但如果是“http://localhost/”参数中并不含fo参数,就可以用isset来检测,此时isset($_GET['fo'])返回false

不适用于:该函数不适合于验证html表单中的文本的有效方式。要检查用户输入文本是否有效,可以用empty();

(2)empty();——最好用的一个函数,用于检查变量是否具有空值

定义和作用范围:用于检查变量是否具有空值:包括:空字串,0,null 或false,这些都返回false,即:“http://localhost/?fo=”或“http://localhost/?fo=0”时,empty检测出来的结果都是ture

不适用范围:不适用于检测可为0的参数

(3)is_numeric();——检查变量是否为数字

定义和作用范围:检查变量是否为数字,只适用于检测数字

不适用范围:但假如参数名不存在,会出错,因此不适合于第一层检测

另外还有一个好用的验证函数是checkdate(month,day,$year),用来确认某个日期是否存在或在过去是否存在

综合示例:

这是表单:

表单验证示例

传有效值 传空值 传0值

性别:男 性别:女

清空

[code]

这是验证

[code]<?php

ini_set("display_errors",1);

//ini_set("error_reporting",E_ALL); print_r

error_reporting(E_ALL);

$a=NULL;

if(isset($a))echo '变量$a的isset为真';

echo '

isset的情形:

';

if(isset($_GET['fo'])){

echo '变量\'fo\'的isset为真,变量可用';

}else{

echo '变量\'fo\'的isset为假,无变量设置';

}

echo '

empty的情形:

';

if(empty($_GET['fo'])){

echo '变量\'fo\'的empty为真,即空值或无效值';

}else{

echo '变量\'fo\'的empty为假,有值';

}

echo '

is_numeric的情形:

';

if(is_numeric($_GET['fo'])){ //在参数中无fo参数时,则出错。

echo '变量\'fo\'的is_numeric为真,是数字';

}else{

echo '变量\'fo\'的is_numeric为假,不是数字';

}

echo "

\$_GET['fo']=''的情形:

";

if($_GET['fo']==''){ //在参数中无fo参数时,则出错。

echo 'fo无值,空的字符串';

}elseif($_GET['fo']!=''){

echo 'fo有值,不为\'\'.';

}

echo "

\$_GET['sex']='m'的情形:

";

if($_GET['sex']=='m'){ //当参数中无sex变量时就会出错。

echo '男的';

}elseif($_GET['sex']=='f'){

echo '女的';

}

?>

三、其他常用库函数

(1)ini_set ini_get——可操作配置参数列表

为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数。

比如我们常用到的:

获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(addslashes)数据;

设定 max_execution_time 来延长程序的执行时间;

设定 error_reporting 使自己的项目在开发与运营阶段切换;

设定 memory_limit 加大内存等等…

(2)ini_set(string varname, string newvalue ) : //设定环境配置的参数

ini_get(string varname) : //获取环境配置的参数

PHP ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表

其实你把PHP ini_set函数和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以结合两个函数:

ini_set ( 'include_path' , ini_get ( 'include_path' ). ':/your_include_dir:' );

(3)chdir(dirname(__FILE__)); //切换到global.php所在目录

(4)ob_start(‘ui_handler');//设置输出缓冲区句柄为ui_handler,即系统首页面为ui_handler函数所定义的内容

(5)int intval(mixed var, int [base]);

本函数可将变量转成整数类型。可省略的参数 base 是转换的基底,默认值为 10。转换的变量 var 可以为数组或类之外的任何类型变量。

(6)error_reporting(report_level) 函数—— 设置 PHP 的报错级别并返回当前级别

其中report_level可取值为0、1、2、4、8、16、32、……、4096、8191

例子:任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。例如,下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:

//禁用错误报告

error_reporting(0);

//报告运行时错误

error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误

error_reporting(E_ALL);

?>

常见疑难问题解答

1、rand(min,max)与mt_rand(min,max)的区别如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用 mt_rand(5, 15)。

很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。

2、PHP echo, print, print_r, printf, sprintf和var_dump函数的区别和使用

1) echo

echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号。不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误。而且echo是返回void的,并不返回值,所以不能使用它来赋值。

例子:

echo "55nav"; // 55nav

echo ("55nav"); // 55nav

echo ("55nav","com"); //发生错误,有括号不能传递多个参数

echo "55nav"," com"," is", " web"; // 不用括号的时候可以用逗号隔开多个值, 会输出 55nav com is web

echo "55nav is good web."; // 不管是否换行,最终显示都是为一行 55nav is good web.

echo "$fistname com"; // 如果 $firstname = "55nav", 则会输出 55nav com.

echo '$firstname com'; // 由于使用单引号,所以不会输出$firstname的值,而是输出 $firstname com12

?>

2) print

print() 和 echo() 用法一样,但是echo速度会比print快一点点。实际上它也不是一个函数,因此您无需对其使用括号。不过,如果您希望向print() 传递一个以上的参数,那么使用括号会发生解析错误。注意print总是返回1的,这个和echo不一样,也就是可以使用print来赋值,不过没有实际意 义。

例子:

echo $a; // $a的值是14

?>;

3) print_r 函数——即打印预定义变量的值

print_r函数打印关于变量的易于理解的信息。

语法:mixed print_r ( mixed $expression [, bool return ] )

如果变量是string , integer or float , 将会直接输出其值,如果变量是一个数组,则会输出一个格式化后的数组,便于阅读,也就是有key和value对应的那种格式。对于object对象类同。 print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回字符串,否则返回布尔值TRUE。

例子:

$c = print_r($a);

echo $c;  // $c的值是TRUE

$c = print_r($a, ture);

echo $c; // $c的值是字符串55nav

?>

4) printf函数

printf函数返回一个格式化后的字符串。

语法:printf(format,arg1,arg2,arg++)

参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面是可能的 format 值:

* %% – 返回百分比符号

* %b – 二进制数

* %c – 依照 ASCII 值的字符

* %d – 带符号十进制数

* %e – 可续计数法(比如 1.5e+3)

* %u – 无符号十进制数

* %f – 浮点数(local settings aware)

* %F – 浮点数(not local settings aware)

* %o – 八进制数

* %s – 字符串

* %x – 十六进制数(小写字母)

* %X – 十六进制数(大写字母)

arg1, arg2, arg++ 等参数将插入到主字符串中的百分号 (%) 符号处。该函数是逐步执行的,在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入 % 符号之后,由数字和 “\$” 组成。可使用数字指定显示的参数,详情请看例子。

例子:

printf("My name is %2\$s %1\$s","55nav", "com"); // 在s前添加1\$或2\$.....表示后面的参数显示的位置,此行显示My name is com 55nav

?>

5) sprintf函数

此函数使用方法和printf一样,唯一不同的就是该函数把格式化的字符串写写入一个变量中,而不是输出来。

例子:

$out = sprintf("My name is %1\$s %2\$s","55nav", "com");

echo $out;  //输出 My name is 55nav com

?>

6) var_dump函数

功能: 输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

例子:

var_dump($a); //int(100)

$a=100.356;

var_dump($a); //float(100.356)

?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php指定字符编码,PHP字符编码问题

绝对一劳永逸,确保您再也不会遇到编码问题&#xff1a;在任何地方使用UTF-8&#xff01;那是(如果你使用mysql和php)&#xff1a;>例如,将数据库中的所有表格设置为整理“utf8_general_ci”.>建立数据库连接后,运行以下SQL查询&#xff1a;“SET NAMES’utf8’”>始终…

php 开启,PHP服务的开启详细步骤

安装完php,使用chkconfig命令来查看php-fpm服务是否开启&#xff0c;如果没有开启1. 在/etc/init.d/目录下创建脚本php-fpmvim/etc/init.d/php-fpm2. 编写脚本内容(将一下复制进去相应改动安装路径)#!/bin/sh## php-fpm - this script starts and stops the php-fpm daemin## c…

php ssh 管理服务器,php 利用ssh执行远程或本地liunx服务器命令

/*** 利用ssh执行 远程或本地liunx服务器命令* 虽然可以用 shee_exec来执行本地机命令 但却无法选择用哪个用户来执行 此函数可解决此类问题* $host ssh 主机名 可以为ip 或 域名* $port ssh 端口* $ssh_username ssh 登录用户名* $ssh_password ssh 登录密码* $command 要执行…

php四种标量,php的标量数据类型和复合数据类型,php四种标量

php的标量数据类型和复合数据类型PHP的标量数据类型和复合数据类型&#xff0c;标量数据类型数值类型整型$ a20浮点型(小数)$ a1.2布尔类型$ atrueecho $ a//输出1 $ bfalseecho $ b//输出0字符串类型//单引号$ str’ Hello world//双引号$ str’ Hello World//转义符\ ‘ $ st…

用java创建一个单例模式,采用Java实现单例模式

一. 背景单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时&#xff0c;为了防止频繁地创建对象使得内存飙升&#xff0c;单例模式可以让程序仅在内存中创建一个对象&#xff0c;让所有需要调用的地方都共享这一单例对象。- 引…

ci mysql 转义,CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析

本文实例分析了CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患。分享给大家供大家参考&#xff0c;具体如下&#xff1a;php CI框架中URL特殊字符有很多是不支持的&#xff0c;导致像c&#xff0c;括号这些常用的分类&#xff0c;字符都无法正常显示很头痛&#xff0c;而在…

es6判断对象key是否存在,ES6中获取对象的key

ES6中获取对象的keyconst json {‘a‘: 123, ‘b‘: 321};Object.keys(json).forEach(key > {window.console.log(key);}); // [a,b]ES6一共有五种方法可以遍历对象的属性。for ... in&#xff1a;循环遍历对象自身的和继承的可枚举的属性(不包含Symbol属性)Object.keys(ob…

招投标体统JAVA源代码,JSP 招投标管理系统(毕业设计)源码

一、源码特点JSP 招投标管理系统 是一套完善的毕业设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。二、功能介绍主要功能&#xff1a;(1)权限管理&#xff1a;对权限信息进行添加、删除、…

java+timer+退出,java timer 兑现在指定时间执行方法

java timer 实现在指定时间执行方法最近在弄一个定时发送的项目&#xff0c;需要定时执行方法&#xff0c;于是用到了Timer&#xff0c;但是我想要的功能网络上的资源比较少&#xff0c;所以自己研究了一下。下面是我写的一些代码import java.util.Calendar;import java.util.D…

linux下安装mysql5.7.19,Linux下MySQL5.1升级到高版本MySQL5.7.19详解 | zifangsky的个人博客...

一 数据备份(1)查看当前版本&#xff1a;Shell[rootcentos ~]# mysql -V1[rootcentos~]# mysql -V(2)备份数据&#xff1a;Shell[rootcentos ~]# mysqldump -u root -h 127.0.0.1 -P 3306 -p --all-databases > databases.sql1[rootcentos~]# mysqldump -u root -h 127.0.0.…

mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子

想在每天某个特定时间段定时执行一条sql语句命令&#xff0c;来进行数据库的备份或者更新删除等&#xff0c;可以直接使用MySQL自带的定时任务Event事件来执行操作。需要注意的是Event事件是在MySQL 5.1版本中新增的&#xff0c;还有一点就是确保你有MySQL数据库的root管理权限…

php如何配置微信公众号环境,微信公众平台开发之配置与请求

一、配置参数define(WEIXIN_APPID, wxzzzzzzzz);define(WEIXIN_APPSECRET, ouewjdsaudsamkh);define(WEIXIN_TOKEN, 9973833232232);define(WEIXIN_NOTIFY_URL, http://xx.com/xx/xx);define(WEIXIN_MCHID, 322221121);define(WEIXIN_KEY, xddsdswewew);1)微信公众号开发中IDWE…

MATLAB设置x为0到10所有数,MATLAB教学_10数值微积分

本文学习视频地址&#xff1a;https://www.bilibili.com/video/av68228488?p10课堂PPT以及本人学习代码已上传。本文学习内容&#xff1a;多项式的微分和积分数值的微分和积分目录多项式的表示方法polyval()polyder()16分钟练习conv()polyint()Numerical Differentiation39分钟…

php header 404 nginx,ThinkPHP在nginx下怎么设置?路由统统404,疯了~

本地用MAMP跑的代码&#xff0c;运行没问题。但是部署到CENTOS 6.8 NGINX服务器上的时候&#xff0c;路由地址都404了&#xff01;[可以访问] http://something.com/API/public/index.php[404] http://something.com/API/public/index.php/consult_add折腾一晚上了。。简直了&a…

vue怎么使用php调取数据,vue 数据操作

pushpopshiftunshiftsplicesortreverse{{ item.message }} #var example new Vue({el: #example,data: {items: [{message: Foo },{message: Bar },{message: Baz }],addValue:{message:match}},methods:{push(){//接收任意数量的参数&#xff0c;把它们逐个添加到数组末尾&am…

php strchr 截断,PHP strchr() 函数

w3school 教程PHP String 函数查找 "world" 在 "Hello world!" 中的第一次超并返回此字符串的其余个别&#xff1a;echo strchr("Hello world!","world");?>运行实例strchr() 函数搜他串在另一字符串中的第一次常该函数是 strstr(…

matlab与专业应用,MATLAB应用技术--在电气工程与自动化专业中的应用

第1章 MATLAB基本知识.1.1 MATLAB简介1.1.1 概述1.1.2 MATLAB安装与运行1.2 MATLAB的基本操作1.2.1 MATLAB语言结构1.2.2 MATLAB常用命令1.2.3 MATLAB的M文件1.2.4 输入与输出函数1.3 MATLAB的矩阵运算1.3.1 矩阵的实现1.3.2 矩阵的运算1.4 MATLAB的向量运算1.5 MATLAB的控制语…

php 单一职责原则,Laravel深入学习8 - 单一责任原则

声明&#xff1a;本文并非博主原创&#xff0c;而是来自对《Laravel 4 From Apprentice to Artisan》阅读的翻译和理解&#xff0c;当然也不是原汁原味的翻译&#xff0c;能保证90%的原汁性&#xff0c;另外因为是理解翻译&#xff0c;肯定会有错误的地方&#xff0c;欢迎指正。…

matlab aic sic,sic是什么意思_sic的翻译_音标_读音_用法_例句_爱词霸在线词典

全部In the mud -- En ange e il mondo ! [ sic ] ( 6 )污泥里 —— Efangoeilmondo! ( 六 )汉英文学 - 围城Fixed - seal & rotational - seal are made of various msterials, SIC, Carbon, Ceramic and can withstand various chemicals.固定环 及 转动环由各种不同材质…