php中字符串比较方法
利用函数strcmp()函数字符串进行比较
int strcmp(string str1,string str2))
参数str1和参数str2制定要比较的两个字符串,如果相等则返回0;如果参数str1大于参数str2则返回值大于0;如果参数str1小于参数str2则返回值小于0。
实例:
代码如下 | 复制代码 |
<?php $str1=”a”; //定义字符串常量 $str2=”b”; //定义字符串常量 $str3=”ccc”; //定义字符串常量 $str4=”CCC”; //定义字符串常量 echo strcmp($str1,$str2);//这两个字符串相等 echo strcmp($str3,$str4);//注意该函数区分大小写 ?> |
注意:该函数区分字母大小写。
利用==进行比较
代码如下 | 复制代码 |
$a = "joe"; |
更多详细内容请查看:http://www.111cn.net/phper/php-function/35413.htm
在任何开发语言中都会有一些自己的变量这些称系统变量或环境变量,有需要的朋友参考一下。PHP环境变量主要有$GLOBALS[]、$_SERVER[]、$_GET[]、$_POST[]、$_COOKIE[]、$_FILES[]、$_ENV[]、$_REQUEST[]、$_SESSION[]。$_GET和$_POST主要针对FORM表单提交的数据,$_COOKIE和$_SESSION主要针对客户端游览器和服务器端会话数据。$_FILES主要针对文件上传时提交的数据,$_REQUEST主要针对提交表单中所有请求数组,包括$_GET、$_POST、$_COOKIE中的所有内容,你可以通过print_r函数分别输出$_REQUEST或者$_COOKIE等进行比较。
$_SERVER变量
是一个包含服务器端相关信息的PHP全局环境变量,在PHP4.1.0之前的版本使用$HTTP_SERVER_VARS。
$_SERVER['PHP_SELF']
#当前正在执行脚本的文件名,与 document root相关。在FORM表单中,如执行文件是本身,你可以在ACTION中使用
$_SERVER['QUERY_STRING']
#获取查询语句,即获取的是url串中’?'后面的值
$_SERVER['DOCUMENT_ROOT']
#当前运行脚本所在的文档根目录。在服务器配置文件中定义。
$_SERVER['HTTP_ACCEPT']
#当前请求的 Accept: 头部的内容。
$_SERVER['HTTP_ACCEPT_CHARSET']
#当前请求的 Accept-Charset: 头部的内容。例如:“iso-8859-1,*,utf-8”。
$_SERVER['HTTP_ACCEPT_ENCODING']
#当前请求的 Accept-Encoding: 头部的内容。例如:“gzip”。
$_SERVER['HTTP_ACCEPT_LANGUAGE']
#当前请求的 Accept-Language: 头部的内容。例如:“en”。
$_SERVER['HTTP_CONNECTION']
#当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
$_SERVER['HTTP_HOST']
#当前请求的 Host: 头部的内容。
$_SERVER['HTTP_REFERER']
#链接到当前页面的前一页面的 URL 地址。
$_SERVER['HTTP_USER_AGENT']
#当前请求的 User_Agent: 头部的内容。
$_SERVER['SERVER_NAME']
#当前运行的PHP程序所在服务器主机的名称。
$_SERVER['REQUEST_METHOD']
#访问页面时的请求方法,即GET、HEAD、POST、PUT。
$_SERVER['DOCUMENT_ROOT']
#当前运行的PHP程序所在的文档根目录。也就是PHP.INI文件中的定义。
$_SERVER['HTTP_REFERER']
#链接到当前页面的前一页面的URL地址。在页面跳转功能中非常有用。
$_SERVER['REMOTE_ADDR']
#正在浏览当前页面访问者的IP地址。
$_SERVER['REMOTE_HOST']
#正在浏览当前页面用户的主机名。
$_SERVER['REMOTE_PORT']
#正在游览的用户连接到服务器时所使用的端口。
$_SERVER['SCRIPT_FILENAME']
#当前执行脚本的绝对路径名。
$_SERVER['SERVER_PORT']
#服务器所使用的端口
$_SERVER['SCRIPT_NAME']
#包含当前脚本的路径。这在页面需要指向自己时非常有用。
$_SERVER['REQUEST_URI']
#访问此页面所需的URI。如“/index.html”。
$_SERVER['PHP_AUTH_USER']
#应用在HTTP用户登录认证功能中,这个变量是用户输入的用户名。
$_SERVER['PHP_AUTH_PW']
#应用在HTTP用户登录认证功能中,这个变量便是用户输入的密码。
$_SERVER['AUTH_TYPE']
#应用在HTTP用户登录认证功能中,这个变量便是认证的类型。
$_SERVER['SERVER_SOFTWARE']
#服务器标识的字串,在响应请求时的头部中给出。
系统常量
__FILE__ 当前PHP程序脚本的绝对路径及文件名称
__LINE__ 存储该常量所在的行号
__FUNCTION__ 存储该常量所在的函数名称
__CLASS__ 存储该常量所在的类的名称
PHP_VERSION 存储当前PHP的版本号,也可以通过PHPVERSION()函数获取。
PHP_OS 存储当前服务器的操作系统
在php中循环语句我们常用的就几种,while,do while ,for(),foreach这四种,也是大家开发中常用到的循环语句了,有需要的朋友可以参考一下,本教程一一来讲一下这种语句的用法。Foreach语句
Foreach循环是php4.0引进来的,只能用于数组。在php5中,又增加了对对象的支持。该语句的语法格式为:
foreach(array_expression as $value)
statement;
或
代码如下 | 复制代码 |
Foreach(array_expression as $key => $value)
or FOREACH ($array_variable as $key => $value) |
在这两种情况下,多次[代码执行]将被处死是等于在$ array_variable数组元素的个数。
让我们来看一个例子。假设我们有下面的代码段:
代码如下 | 复制代码 |
$array1 = array(1,2,3,4,5); 输出结果 new value is 10 |
foreach循环以上经历了所有5个元素的数组$ array1,每次打印出一份声明中含有10倍的数组元素的值。
foreach作用是遍历当前数组的所有值出来并且赋给$var
再来看一个foreach 对多维数据操作实例
代码如下 | 复制代码 |
$s = array(array(1,2),array(3,4),array(5,6)); |
更多详细内容请查看:http://www.111cn.net/phper/18/foreach-foreach.htm
for语句
最基于的遍历
代码如下 | 复制代码 |
<?php for ($i = 1; $i <= 10; $i++) { /* example 2 */ for ($i = 1; ; $i++) { /* example 3 */ $i = 1; /* example 4 */ for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); |
遍历数组
代码如下 | 复制代码 |
<?php for($i = 0; $i < sizeof($people); ++$i) |
下面再看while 与do while
While循环是php中最简单的循环语句,他的语法格式是:
代码如下 | 复制代码 |
While (expression){ statement; } |
当表达式expression的值为真时,将执行statement语句,执行结束后,再返回到expression表达式继续进行判断。直到表达式的值为假时,才跳出循环。
代码如下 | 复制代码 |
<?php $i = 1; /* example 2 */ $i = 1; |
Do…While语句
While语句还有一种形式的表示,Do…While.语法为:
Do{
statement;
}While(expression);
两者的区别在于:Do…While语句要比While语句多循环一次。
当While表达式的值为假时,While循环直接跳出当前循环,而Do…While语句则是先执行一遍程序块,然后再对表达式进行判断。
实例
代码如下 | 复制代码 |
<?php /* process i */ } while (0); |
代码如下 | 复制代码 |
switch(variable){ case value1: statement1; break; case value2: … default: defulat statement; } |
switch语句根据variable的值,依次与case中的value值相比较,如果不相等,继续查找下一个
case;如果相等,就执行对应的语句,直到switch语句结束或者遇见break为止。
代码如下 | 复制代码 |
<?php switch ($i) { case "apple": echo "i is apple"; break; case "bar": echo "i is bar"; break; case "cake": echo "i is cake"; break; } ?> |
实例二
代码如下 | 复制代码 |
<?php |
实例三
代码如下 | 复制代码 |
<?php |
if…else语句只能选择两种结果:要么执行真,要么执行假。但现在有2种以上的选择该怎么办
呢?这时,可以使用esleif(也可以写作else if)语句来执行,该语法格式为:
代码如下 | 复制代码 |
if(expression1){ statement1; }else if(expression2){ statement2; } … else{ statementn; } |
实例
代码如下 | 复制代码 |
<?php $moth = date(“n”); $today = date(“j”); if($today >= 1and $today <= 10){ echo’今天是’.$moth.’月’.$today.’日上旬’; }elseif ($today >10 and $today <=20){ echo’今天是’.$moth.’月’.$today.’日中旬’; }else{ echo’今天是’.$moth.’月’.$today.’日下旬’; } ?> |
如果当前日期是周五,下面的例子会输出 "Have a nice weekend!",如果是周日,则输出 "Have a nice Sunday!",否则输出 "Have a nice day!":
代码如下 | 复制代码 |
<html> <?php </body> |
注: list() 仅能用于数字索引的数组并假定数字索引从 0 开始。
例子 1. list() 例子
代码如下 | 复制代码 |
<?php $info = array('coffee', 'brown', 'caffeine'); // Listing all the variables list($drink, $color, $power) = $info; echo "$drink is $color and $power makes it special.n"; // Listing some of them list($drink, , $power) = $info; echo "$drink has $power.n"; // Or let's skip to only the third one list( , , $power) = $info; echo "I need $power!n"; ?> |
例子 2. 使用 list() 的例子
代码如下 | 复制代码 |
<table> <tr> <th>Employee name</th> <th>Salary</th> </tr> <?php $result = mysql_query("SELECT id, name, salary FROM employees",$conn); while (list($id, $name, $salary) = mysql_fetch_row($result)) { echo " <tr>n". " <td><a href="info.php?id=$id">$name</a></td>n". " <td>$salary</td>n". " </tr>n"; } ?> </table> |
警告
list() 从最右边一个参数开始赋值。如果你用单纯的变量,不用担心这一点。但是如果你用了具有索引的数组,通常你期望得到的结果和在 list() 中写的一样是从左到右的,但实际上不是。是以相反顺序赋值的。
例子 3. 在 list() 中使用数组索引
代码如下 | 复制代码 |
<?php $info = array('coffee', 'brown', 'caffeine'); list($a[0], $a[1], $a[2]) = $info; var_dump($a); ?> |
产生如下输出(注意单元顺序和 list() 语法中所写的顺序的比较):
代码如下 | 复制代码 |
array(3) { |
相关文章
- 这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
php 中file_get_contents超时问题的解决方法
file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25- php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
- 这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
- 这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
- 下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
- ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
intellij idea快速查看当前类中的所有方法(推荐)
这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
- 1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
js导出table数据到excel即导出为EXCEL文档的方法
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13- 今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下...2020-06-30
- 批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
- ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果̳...2017-07-06
- 本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法
手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21- 最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
- 单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25