PHP使用ECHO输出双引号"与单引号′的方法

 更新时间:2016年9月20日 13:48  点击:1700
在 php 编程中双引号“"”与单引号“′”是字符串与字符表现形式、那么我们要输出它怎么做呢、下面我们就来看个简单的输出单双引号的实例吧、首页我们来看输出双引号的几种方法

输出双引号方法一

$str = ′我要输出双引号"′; 
echo $str; 
//结果为:我要输出双引号"

输出双引号方法二

$str = "输出双引号""; 
echo $str; 
//结果为:输出双引号"

输出单引号方法一

$str = "输出单引号′"; 
echo $str;
//结果为:输出单引号′

输出单引号方法二

$str = ′输出单引号′′; 
echo $str;
//结果为:输出单引号′

另外需要注意的是单引号中间的字面里面的变量不会执行、双引号中间的变量可以执行、所以在没有变量的情况下、用单引号输出字符效率要比用双引号高很多、对于特殊字符、大家可以用转移字符“”即可


由于现在很多网站是采用响应式布局的、难免会遇到需要判断是手机用户还是电脑用户,那么在手机访问的时候如果要显示百度广告、体验会很差、所有为响应式做的努力都白费了、下面我们找到判断为手机用户php代码分享给大家。

方法一

<?php  
function isMobile(){    
    $useragent=isset($_SERVER[′HTTP_USER_AGENT′]) ? 
		$_SERVER[′HTTP_USER_AGENT′] : ′′;    
    $useragent_commentsblock=preg_match(′|(.*?)|
		′,$useragent,$matches)>0?$matches[0]:′′;      
    function CheckSubstrs($substrs,$text){    
        foreach($substrs as $substr)    
            if(false!==strpos($text,$substr)){    
                return true;    
            }    
            return false;    
    }  
    $mobile_os_list=array(′Google Wireless Transcoder′,′Windows CE′,
		′WindowsCE′,′Symbian′,′Android′,′armv6l′,′armv5′,′Mobile′,
		′CentOS′,′mowser′,′AvantGo′,′Opera Mobi′,′J2ME/MIDP′,
		′Smartphone′,′Go.Web′,′Palm′,′iPAQ′);  
    $mobile_token_list=array(′Profile/MIDP′,′Configuration/CLDC-′,
		′160×160′,′176×220′,′240×240′,′240×320′,′320×240′,′UP.Browser′,
		′UP.Link′,′SymbianOS′,′PalmOS′,′PocketPC′,′SonyEricsson′,
		′Nokia′,′BlackBerry′,′Vodafone′,′BenQ′,′Novarra-Vision′,
		′Iris′,′NetFront′,′HTC_′,′Xda_′,′SAMSUNG-SGH′,′Wapaka′,
		′DoCoMo′,′iPhone′,′iPod′);    
                
    $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||    
              CheckSubstrs($mobile_token_list,$useragent);    
                
    if ($found_mobile){    
        return true;    
    }else{    
        return false;    
    }    }  if (isMobile())  
    echo ′手机访问 DD博客′;  else
    echo ′电脑访问 DD博客′;  ?>

方法二

function is_mobile_request()  {  
	$_SERVER[′ALL_HTTP′] = isset($_SERVER[′ALL_HTTP′]) 
		? $_SERVER[′ALL_HTTP′] : ′′;  
	$mobile_browser = ′0′;  
	if(preg_match(′/(up.browser|up.link|mmp|symbian|smartphone|
		midp|wap|phone|iphone|ipad|ipod|android|xoom)/i′,
		strtolower($_SERVER[′HTTP_USER_AGENT′])))  
	$mobile_browser  ;  
	if((isset($_SERVER[′HTTP_ACCEPT′])) and (strpos(strtolower(
		$_SERVER[′HTTP_ACCEPT′]),′application/vnd.wap.xhtml xml′) !== false))  
	$mobile_browser  ;  
	if(isset($_SERVER[′HTTP_X_WAP_PROFILE′]))  
		$mobile_browser  ;  
	if(isset($_SERVER[′HTTP_PROFILE′]))  
		$mobile_browser  ;  
	$mobile_ua = strtolower(substr($_SERVER[′HTTP_USER_AGENT′],0,4));  
	$mobile_agents = array(  
	′w3c ′,′acs-′,′alav′,′alca′,′amoi′,′audi′,′avan′,′benq′,′bird′,′blac′,  
	′blaz′,′brew′,′cell′,′cldc′,′cmd-′,′dang′,′doco′,′eric′,′hipt′,′inno′,  
	′ipaq′,′java′,′jigs′,′kddi′,′keji′,′leno′,′lg-c′,′lg-d′,′lg-g′,′lge-′,  
	′maui′,′maxo′,′midp′,′mits′,′mmef′,′mobi′,′mot-′,′moto′,′mwbp′,′nec-′,  
	′newt′,′noki′,′oper′,′palm′,′pana′,′pant′,′phil′,′play′,′port′,′prox′,  
	′qwap′,′sage′,′sams′,′sany′,′sch-′,′sec-′,′send′,′seri′,′sgh-′,′shar′,  
	′sie-′,′siem′,′smal′,′smar′,′sony′,′sph-′,′symb′,′t-mo′,′teli′,′tim-′,  
	′tosh′,′tsm-′,′upg1′,′upsi′,′vk-v′,′voda′,′wap-′,′wapa′,′wapi′,′wapp′,  
	′wapr′,′webc′,′winw′,′winw′,′xda′,′xda-′
	);  
	if(in_array($mobile_ua, $mobile_agents))  
		$mobile_browser  ;  
	if(strpos(strtolower($_SERVER[′ALL_HTTP′]), ′operamini′) !== false)  
		$mobile_browser  ;  
	// Pre-final check to reset everything if the user is on Windows  
	if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows′) !== false)  
		$mobile_browser=0;  
	// But WP7 is also Windows, with a slightly different characteristic  
	if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows phone′) !== false)  
		$mobile_browser  ;  
	if($mobile_browser>0)  
		return true;  
	else
		return false;}

这两种方法我都亲测过、没有问题的、希望对大家有用


在 php 编程中双引号“"”与单引号“′”是字符串与字符表现形式、那么我们要输出它怎么做呢、下面我们就来看个简单的输出单双引号的实例吧、首页我们来看输出双引号的几种方法

输出双引号方法一

$str = ′我要输出双引号"′; 
echo $str; 
//结果为:我要输出双引号"

输出双引号方法二

$str = "输出双引号""; 
echo $str; 
//结果为:输出双引号"

输出单引号方法一

$str = "输出单引号′"; 
echo $str;
//结果为:输出单引号′

输出单引号方法二

$str = ′输出单引号′′; 
echo $str;
//结果为:输出单引号′

另外需要注意的是单引号中间的字面里面的变量不会执行、双引号中间的变量可以执行、所以在没有变量的情况下、用单引号输出字符效率要比用双引号高很多、对于特殊字符、大家可以用转移字符“”即可


PHPExcel专门用来处理excel表格的了,我们只需要进行一个简单的操作就可以实现,下面来看一段代码了,希望对各位能够有用。

去官网下载PHPExcel,你选择,这个插件非常的强大,基本所有的你需要的表格格式都支持,我这里只说下导出表格的经验,这个里面有好多例子,打开看看自己调试下也就会了,我这里说一个最简单的方法。

最常用的表格格式,现在是.xls文件类型,所以找到解压文件Examples/02types-xls.php 拷贝到 需要的位置,这文件里面只需要更改:

require_once dirname(__FILE__) . './Classes/PHPExcel.php';

这个改成你的文件存放目录就可以


剩下的就是循环你的数据数组到表格就可以。


foreach($arrayobj as $key => $val){
    $excelnum = $key + 1;
    //----------------------------
    $objPHPExcel->getActiveSheet()
        ->setCellValue("A$excelnum",$val['result_code'])
        ->setCellValue("B$excelnum",$val['orderstate'])
        ->setCellValue("C$excelnum",$val['trade_type'])
        ->setCellValue("D$excelnum",$val['launchmoney']/100)
        ->setCellValue("E$excelnum",$val['total_fee'])
        ->setCellValue("F$excelnum"," ".$val['transaction_id'])
        ->setCellValue("G$excelnum"," ".$val['order_id'])
        ->setCellValue("H$excelnum",$val['time_end']);
}


这里要注意的是数组是从0开始的,但是表格是从1开始的.所以这里要加1,ABCDEF....代表的是表格的列。

下载我的文件,放到能运行php的环境下面,打开运行一下,就会在源码目录下面生成表格文件,我这里是把数据post到我这个例子上的。我注释掉了,我直接把数据 写在里面了,可根据自己的情况更改。

身份证验证最简单的就是判断长度了,当然这种非常简单破了如果要更规则一点我们需要对身份证号码进行一些按生成规则验证了,下面整理了一些函数我们来看看。

例子

今天分享一个php验证身份证号码是否正确函数.

/********************php验证身份证号码是否正确函数*********************/
function is_idcard( $id )
{
    $id = strtoupper($id);
    $regx = "/(^\d{15}$)|(^\d{17}([0-9]|X)$)/";
    $arr_split = array();
    if(!preg_match($regx, $id))
    {
        return FALSE;
    }
    if(15==strlen($id)) //检查15位
    {
        $regx = "/^(\d{6})+(\d{2})+(\d{2})+(\d{2})+(\d{3})$/";
 
        @preg_match($regx, $id, $arr_split);
        //检查生日日期是否正确
        $dtm_birth = "19".$arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];
        if(!strtotime($dtm_birth))
        {
            return FALSE;
        } else {
            return TRUE;
        }
    }
    else           //检查18位
    {
        $regx = "/^(\d{6})+(\d{4})+(\d{2})+(\d{2})+(\d{3})([0-9]|X)$/";
        @preg_match($regx, $id, $arr_split);
        $dtm_birth = $arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];
        if(!strtotime($dtm_birth))  //检查生日日期是否正确
        {
            return FALSE;
        }
        else
        {
            //检验18位身份证的校验码是否正确。
            //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
            $arr_int = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
            $arr_ch = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
            $sign = 0;
            for ( $i = 0; $i < 17; $i++ )
            {
                $b = (int) $id{$i};
                $w = $arr_int[$i];
                $sign += $b * $w;
            }
            $n  = $sign % 11;
            $val_num = $arr_ch[$n];
            if ($val_num != substr($id,17, 1))
            {
                return FALSE;
            }
            else
            {
                return TRUE;
            }
        }
    }
 
}
/*调用身份证验证函数*/
 
$idc=is_idcard("身份证号码");
if($idc){echo "正确";}else{echo "错误";}

例子二

function validation_filter_id_card($id_card){
 if(strlen($id_card)==18){
  return idcard_checksum18($id_card);
 }elseif((strlen($id_card)==15)){
  $id_card=idcard_15to18($id_card);
  return idcard_checksum18($id_card);
 }else{
  return false;
 }
}
// 计算身份证校验码,根据国家标准GB 11643-1999
function idcard_verify_number($idcard_base){
 if(strlen($idcard_base)!=17){
  return false;
 }
 //加权因子
 $factor=array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
 //校验码对应值
 $verify_number_list=array('1','0','X','9','8','7','6','5','4','3','2');
 $checksum=0;
 for($i=0;$i<strlen($idcard_base);$i++){
  $checksum += substr($idcard_base,$i,1) * $factor[$i];
 }
 $mod=$checksum % 11;
 $verify_number=$verify_number_list[$mod];
 return $verify_number;
}
// 将15位身份证升级到18位
function idcard_15to18($idcard){
 if(strlen($idcard)!=15){
  return false;
 }else{
  // 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
  if(array_search(substr($idcard,12,3),array('996','997','998','999')) !== false){
   $idcard=substr($idcard,0,6).'18'.substr($idcard,6,9);
  }else{
   $idcard=substr($idcard,0,6).'19'.substr($idcard,6,9);
  }
 }
 $idcard=$idcard.idcard_verify_number($idcard);
 return $idcard;
}
// 18位身份证校验码有效性检查
function idcard_checksum18($idcard){
 if(strlen($idcard)!=18){
  return false;
 }
 $idcard_base=substr($idcard,0,17);
 if(idcard_verify_number($idcard_base)!=strtoupper(substr($idcard,17,1))){
  return false;
 }else{
  return true;
 }
}

调用方法如:

validation_filter_id_card('身份证号码');

[!--infotagslink--]

相关文章

  • 图解PHP使用Zend Guard 6.0加密方法教程

    有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
  • ps怎么使用HSL面板

    ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。 &#8195;...2017-07-06
  • Plesk控制面板新手使用手册总结

    许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • 使用percona-toolkit操作MySQL的实用命令小结

    1.pt-archiver 功能介绍: 将mysql数据库中表的记录归档到另外一个表或者文件 用法介绍: pt-archiver [OPTION...] --source DSN --where WHERE 这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将...2015-11-24
  • 如何使用php脚本给html中引用的js和css路径打上版本号

    在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、...2015-11-24
  • jQuery 1.9使用$.support替代$.browser的使用方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合...2014-05-31
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • C#注释的一些使用方法浅谈

    C#注释的一些使用方法浅谈,需要的朋友可以参考一下...2020-06-25
  • MySQL日志分析软件mysqlsla的安装和使用教程

    一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24
  • php语言中使用json的技巧及json的实现代码详解

    目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。我写过一篇《数据类型和JSON格式》,探讨它的设计思想。今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识...2015-10-30
  • PHP实现无限级分类(不使用递归)

    无限级分类在开发中经常使用,例如:部门结构、文章分类。无限级分类的难点在于“输出”和“查询”,例如 将文章分类输出为<ul>列表形式; 查找分类A下面所有分类包含的文章。1.实现原理 几种常见的实现方法,各有利弊。其中...2015-10-23
  • php类的使用实例教程

    php类的使用实例教程 <?php /** * Class program for yinghua05-2 * designer :songsong */ class Template { var $tpl_vars; var $tpl_path; var $_deb...2016-11-25
  • 双冒号 ::在PHP中的使用情况

    前几天在百度知道里面看到有人问PHP中双冒号::的用法,当时给他的回答比较简洁因为手机打字不大方便!今天突然想起来,所以在这里总结一下我遇到的双冒号::在PHP中使用的情况!双冒号操作符即作用域限定操作符Scope Resoluti...2015-11-08
  • PHP mysql与mysqli事务使用说明 分享

    mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。应用比较多的地方是 mysqli的事务。...2013-10-02
  • Postman安装与使用详细教程 附postman离线安装包

    这篇文章主要介绍了Postman安装与使用详细教程 附postman离线安装包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05
  • 浅析Promise的介绍及基本用法

    Promise是异步编程的一种解决方案,在ES6中Promise被列为了正式规范,统一了用法,原生提供了Promise对象。接下来通过本文给大家介绍Promise的介绍及基本用法,感兴趣的朋友一起看看吧...2021-10-21
  • 使用jquery修改表单的提交地址基本思路

    基本思路: 通过使用jquery选择器得到对应表单的jquery对象,然后使用attr方法修改对应的action 示例程序一: 默认情况下,该表单会提交到page_one.html 点击button之后,表单的提交地址就会修改为page_two.html 复制...2014-06-07
  • vs2019安装和使用详细图文教程

    这篇文章主要介绍了vs2019安装和使用详细图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25