在php中,逻辑运算符无非是将值进行逻辑运算。还有其它用法吗?
先看看以下的代码吧。
提前给出结论就是(&&)or(||)”这两种运算符在程序中可以加快PHP代码的运行速度。
代码:
<?php $test="李四"; $test=="张三"&&$test="张三来了"; echo $test; //输出“李四” $test="李四"; $test=="张三"||$test="张三不在这里"; echo $test; //输出“张三不在这里” ?>
为什么会产生这样的结果呢?如果按照平常的方法,我们最少要用个IF语句来判断。可现在只是两个逻辑运算就会把变量的值给改变了。下面我们来分析一下它的运行原理。
在参与逻辑运算的两边表达式中,是按照从左到右顺序进行运算的。而“与”运算中只要有一个是假,整个表达式的结果为假。所以,当左边表达式为假时,就无 需再进行运算了。这样的处理无疑对程序的运行效率是大有好处的。所以说正如题目所说,是一种高效的用法。而逻辑或就不同了:只要一个为真那整个表达式就为 真。所以,在左边为假的情况下,还要运行右边的表达式判断。
上面的例子当然可以通过条件判断语句来实现,现在的情况一 个是减少了代码的量,最主要的是增加了程序的执行效率。掌握这一点的关键就是表达式的运行方向,是从左到右。当第一个值决定整个表达式的值时就会停止运 行。值得说明的是右边可以是一个表达式,也可以是一个函数,但不能是一系列的语句组合或输出语句。毕竟它还是逻辑表达式的一个组成部分。
总结:
对于“与”(&&) 运算: x && y 当x为false时,直接跳过,不执行y;
对于“或”(||) 运算 : x||y 当x为true时,直接跳过,不执行y。
对了,反之亦然。
以就就是今天php 教程的内容,看懂了不?期待你的快速进步。
说明:
PHP判断字符串是否为中文(或英文)的方法,除了正则表达式判断和拆分字符判断字符的值是否小于128外还有一种比较特别的方法。
那就是使用php中的mb_strlen和strlen函数判断:
分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值。
返回值相等的为纯英文、纯数字、英数混排;
返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字。
返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排。
多么奇妙的函数,多么有意思的想法,多么精彩的例子,在下面,呵呵。
例子,
<?php $strarray[1] = "hello"; $strarray[2] = "123456"; $strarray[3] = "123hello"; $strarray[4] = "你好"; $strarray[5] = "123你好"; $strarray[6] = "hello你好"; $strarray[7] = "123hello你好"; foreach ($strarray as $key->$value) { $x = mb_strlen($value,'gb2312'); $y = strlen($value); echo $strarray[$key].' <span >'.$x.'</span> <span >'.$y.'</span>'; } ?>
输出结果:
hello 5 5
123456 6 6
123hello 8 8
你好 2 4
123你好 5 7
hello你好 7 9
123hello你好 10 12
php没有直接函数来判断一个字符串是否是纯英文或纯汉字以及汉英混合,只能自己写函数。
要想实现此功能就必需对字符集汉字编码占位进行了解,就目前国内比较常用的字符集当属UTF8与GBK了。
UTF8每个汉字等于3个长度;
GBK每个汉字等于2个长度;
根据以上汉字与英文的差异,可以使用mb_strlen函数与strlen函数分别计算出两组长度数字,然后根据规律进行运算即可判断出字符串的类型了。
1、UTF-8的例子
<?php /** * PHP判断字符串纯汉字 OR 纯英文 OR 汉英混合 * site www. */ echo '<meta charset="utf-8" />'; function utf8_str($str){ $mb = mb_strlen($str,'utf-8'); $st = strlen($str); if($st==$mb) return '纯英文'; if($st%$mb==0 && $st%3==0) return '纯汉字'; return '汉英混合'; } $str = '博客'; echo '字符串:<span >'.$str.'</span>,是<span >'.utf8_str($str).'</span>'; ?>
2、GBK方法的例子
<?php /** * PHP判断字符串纯汉字 OR 纯英文 OR 汉英混合 * site www. */ function gbk_str($str){ $mb = mb_strlen($str,'gbk'); $st = strlen($str); if($st==$mb) return '纯英文'; if($st%$mb==0 && $st%2==0) return '纯汉字'; return '汉英混合'; } ?>
1、ftp类代码
<?php /* php ftp类主要功能: 1.连接ftp并登陆; 2.创建目录和删除目录; 3.上传文件和删除文件; 4.http://www. */ include 'config.php'; //配置文件 class Net_FTP { var $ftp_server; var $ftp_user; var $ftp_pass; var $ftp_port; var $conn_id; function Net_FTP() { $this->ftp_server = server; $this->ftp_user = username; $this->ftp_pass = password; $this->ftp_port = port; // 建立连接 $this->conn_id = ftp_connect($this->ftp_server, $this->ftp_port) or die("不能够连接到 $this->ftp_server"); // 尝试登陆 if (!ftp_login($this->conn_id, $this->ftp_user, $this->ftp_pass)) { $this->message("连接失败 $this->ftp_user"); } else { $this->message("连接成功 $this->ftp_user "); } } //功能:创建新的目录 //$path默认为空目录 //创建成功返回true,否则返回false。 function newdir($path = null) { if($this->ftp_is_dir($this->conn_id,$path)||@ftp_mkdir($this->conn_id,$path)) return true; if(!$this->newdir(dirname($path))) return false; ftp_mkdir($this->conn_id,$path); return true; } //验证是否为目录 //对$path进行验证:如果是目录返回true,否则返回false。 function ftp_is_dir($path) { $original_directory = ftp_pwd($this->conn_id); if(@ftp_chdir($this->conn_id,$path)) { ftp_chdir($this->conn_id,$original_directory); return true; } else return false; } //功能:上传文件 //$ftppath:存在ftp服务器位置;$localpath:本地文件位置; //上传成功返回true,否则返回false。 function uploadfile($ftppath = null, $localpath = null) { if(!empty($ftppath) && !empty($localpath)) { $ret = ftp_nb_put($this->conn_id, $ftppath, $localpath, FTP_BINARY); while ($ret == FTP_MOREDATA) { $ret = ftp_nb_continue ($this->conn_id); } if ($ret != FTP_FINISHED) { $this->message( "上传失败"); return false; } else { $this->message("上传成功"); return true; } } } //功能:删除目录 //$dir:要删除的目录 //删除成功返回true,否则返回false。 //http://www. function deldir($dir = null) { if (ftp_rmdir($this->conn_id, $dir)) { $this->message("删除目录成功"); return true; } else { $this->message("删除目录失败"); return false; } } //功能:返回目录 //返回当前目录名称 function redir() { return ftp_pwd($this->conn_id); } //功能:删除文件 //$path:文件路径 //删除成功返回true,否则返回false。 function delfile($path = null) { if(ftp_delete($this->conn_id, $path)) { $this->message("删除文件成功"); return true; } else { $this->message("删除文件失败"); return false; } } //功能:打印信息 //$str:要打印的信息 function message($str = null) { if(!empty($str)) { echo $str; } } //功能:关闭ftp连接 function closeftp() { ftp_close($this->conn_id); } } ?>2、调用示例;
<?php include 'ftp.php'; $conn=new Net_FTP(); //$ftppath=$conn->redir(); $ftppath='/test'; $locpath="/home/liye/public_html/php_ftp/test"; //$conn->uploadfile($ftppath,$locpath); //$conn->newdir('test/123/1233'); //$conn->deldir('test/123/1233'); //$conn->delfile($ftppath); $conn->delfile('ftp.php'); ?>
您可能感兴趣的文章:
php ftp函数应用(范例,ftp类,创建目录函数等)
php ftp类(上传、下载、复制、移动等)
仿CodeIgniter的FTP类的实现代码
php实现ftp上传的类与调用示例
php ftp文件上传函数的简单例子
php ftp下载文件的代码一例
php使用ftp下载文件的简单例子
php实现文件的自动ftp更新
又一个php FTP上传类
php使用ftp函数实现简单上传功能
php使用ftp函数上传文件的简单例子
使用ftp传送、下载、删除文件的三个例子
php使用ftp函数创建目录(生成静态)
php写的ftp文件上传类
php的ftp函数操作实例
无需重新编译php加入ftp扩展的方法