PHP 判断移动设备的函数isMobile()

 更新时间:2016年11月25日 15:30  点击:1340
PHP检查移动设备只要通过TTP_USER_AGENT就可以进行识别了这样我们只要提前定义好我们目前市面上常用的TTP_USER_AGENT设置即可,下面我们就来看看判断移动设备常用例子吧。

不废话上代码,使用方法就是

 代码如下 复制代码


<?php
if(isMobile()){}
if(!isMobile()){}
 ?>


function isMobile() {

$user_agent = $_SERVER['HTTP_USER_AGENT'];
$mobile_agents = Array("240x320", "acer", "acoon", "acs-", "abacho", "ahong", "airness", "alcatel", "amoi", "android", "anywhereyougo.com", "applewebkit/525", "applewebkit/532", "asus", "audio", "au-mic", "avantogo", "becker", "benq", "bilbo", "bird", "blackberry", "blazer", "bleu", "cdm-", "compal", "coolpad", "danger", "dbtel", "dopod", "elaine", "eric", "etouch", "fly ", "fly_", "fly-", "go.web", "goodaccess", "gradiente", "grundig", "haier", "hedy", "hitachi", "htc", "huawei", "hutchison", "inno", "ipad", "ipaq", "ipod", "jbrowser", "kddi", "kgt", "kwc", "lenovo", "lg ", "lg2", "lg3", "lg4", "lg5", "lg7", "lg8", "lg9", "lg-", "lge-", "lge9", "longcos", "maemo", "mercator", "meridian", "micromax", "midp", "mini", "mitsu", "mmm", "mmp", "mobi", "mot-", "moto", "nec-", "netfront", "newgen", "nexian", "nf-browser", "nintendo", "nitro", "nokia", "nook", "novarra", "obigo", "palm", "panasonic", "pantech", "philips", "phone", "pg-", "playstation", "pocket", "pt-", "qc-", "qtek", "rover", "sagem", "sama", "samu", "sanyo", "samsung", "sch-", "scooter", "sec-", "sendo", "sgh-", "sharp", "siemens", "sie-", "softbank", "sony", "spice", "sprint", "spv", "symbian", "tablet", "talkabout", "tcl-", "teleca", "telit", "tianyu", "tim-", "toshiba", "tsm", "up.browser", "utec", "utstar", "verykool", "virgin", "vk-", "voda", "voxtel", "vx", "wap", "wellco", "wig browser", "wii", "windows ce", "wireless", "xda", "xde", "zte");

$is_mobile = false;
foreach ($mobile_agents as $device) {
  if (stristr($user_agent, $device)) {
    $is_mobile = true;
    break;
  }
}
return $is_mobile;
}

网友补充了一个

 代码如下 复制代码

<?php
function isMobile()
{
    // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
    {
        return true;
    }
    // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
    if (isset ($_SERVER['HTTP_VIA']))
    {
        // 找不到为flase,否则为true
        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
    }
    // 脑残法,判断手机发送的客户端标志,兼容性有待提高
    if (isset ($_SERVER['HTTP_USER_AGENT']))
    {
        $clientkeywords = array ('nokia',
            'sony',
            'ericsson',
            'mot',
            'samsung',
            'htc',
            'sgh',
            'lg',
            'sharp',
            'sie-',
            'philips',
            'panasonic',
            'alcatel',
            'lenovo',
            'iphone',
            'ipod',
            'blackberry',
            'meizu',
            'android',
            'netfront',
            'symbian',
            'ucweb',
            'windowsce',
            'palm',
            'operamini',
            'operamobi',
            'openwave',
            'nexusone',
            'cldc',
            'midp',
            'wap',
            'mobile'
            );
        // 从HTTP_USER_AGENT中查找手机浏览器的关键字
        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
        {
            return true;
        }
    }
    // 协议法,因为有可能不准确,放到最后判断
    if (isset ($_SERVER['HTTP_ACCEPT']))
    {
        // 如果只支持wml并且不支持html那一定是移动设备
        // 如果支持wml和html但是wml在html之前则是移动设备
        if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))
        {
            return true;
        }
    }
    return false;
}
?>

国外人喜欢写类,有一个Mobile Detect

Mobile_Detect 简单使用实例

 代码如下 复制代码

include 'Mobile_Detect.php';
$detect = new Mobile_Detect();
 
// Check for any mobile device.
if ($detect->isMobile())
 
// Check for any tablet.
if($detect->isTablet())
 
// Check for any mobile device, excluding tablets.
if ($detect->isMobile() && !$detect->isTablet())
 
if ($detect->isMobile() && !$detect->isTablet())
 
// Alternative to $detect->isAndroidOS()
$detect->is('AndroidOS');
 
// Batch usage
foreach($userAgents as $userAgent){
  $detect->setUserAgent($userAgent);
  $isMobile = $detect->isMobile();
}
 
// Version check.
$detect->version('iPad'); // 4.3 (float)

下面我们来看一篇关于CSS 滤镜效果:模糊、灰度、亮度的一个教程,这篇文章是一站长转国外的哦,希望此文章能够帮助到各位朋友。

滤镜原本是 SVG 规范中的一部分。然而,当滤镜的用途变得更广泛时,W3C 也开始给 CSS 增加了一些常用的滤镜效果。CSS 滤镜非常强大又好用,你可以用它来模糊,变亮或饱和度以调整图像。这些滤镜可以单独使用也可以和其它的滤镜组合使用,滤镜的 CSS 语法是这样的:


filter: <filter-function> [<filter-function>]* | none

 
现在开始,我将对这些滤镜做一下简要的介绍。

亮度

该滤镜控制图像的亮度。它可以接受大于或等于零的值作为它的参数。值为 0% 时将变成黑色。值为 100% 时则是原始图像。你可以指定大于 100% 的值以得到更明亮的图像。比如设为 300% 的值将使图像变成 3 倍亮:


img {     filter: brightness(300%); }

对比度

该滤镜控制图像的对比度。同上,它也可以接受大于或等于零的值。该滤镜控制 CSS 里图像的深色和浅色部分之间的差异。因此,值为 0% 时的结果是得到一个灰色图像。对比度值为 100% 则是原始图像,超过此值之后将进一步提高图像的对比度:


img { filter: contrast(0%); }

灰度

从名称上可以明显看出,该滤镜可以使你的图像变灰(黑白化)。该滤镜把所有图像的颜色转换为灰阶值。值为 0% 时对我们的图像没有影响,值为 100% 时会变成他们完全变成黑白,该值不允许为负。


img { filter: grayscale(100%); }


饱和度

该滤镜控制图像的饱和度。值为 0% 时将彻底从图像中删除掉所有颜色,而当值超过 100% 时将使图像饱和度增加。值为 100% 时则是原始图像,该值不允许为负。


img { filter: saturate(0%); }


棕褐色化

这个滤镜会像一些老照片风格那样给图像加上深褐色色调。加入深褐色的量取决于百分比的值。值为 0% 时则是原始图像,并当值为 100% 时,图像将完全褐色。


img { filter: sepia(100%); }

 

色调对调

这个滤镜会把图像的所有颜色的色调对调。在该颜色对调的程度取决于指定的参数的值。当值为 0 度时,图像保持不变。虽然该滤镜没有最大值,但是,超过 360 deg 以上的值的效果会循环。也就是说,90 deg 和 450 deg 这两个值将具有相同的效果。


img { filter: hue-rotate(90deg); }

反色

这个滤镜会把图像的所有颜色反色。反色的量取决于参数的值。值为 0% 时不会对原始图像有任何影响,当值为 100% 时将完全反色。


img { filter: invert(100%); }


模糊

该滤镜适用于高斯模糊图像。它把每个像素的颜色涂抹在一起,并散布到邻近的边缘外围。该滤镜设置的半径参数会确定屏幕上多少的像素会连成一片,越大的值将越模糊。这个滤镜可以接受除了百分比值外的任何长度值。


img { filter: blur(1px); }


不透明度

该滤镜会将使你的图像半透明化。图像将在值为 0% 的时候完全透明,当值为 100% 则保持原样。该滤镜是类似于通常的 opacity 属性。这两者之间的区别只是在性能上略有差异,该滤镜在某些支持硬件加速的浏览器上会有更好的性能。


img { filter: opacity(75%); }


阴影

顾名思义,这个滤镜给图像增加了阴影效果。它基本上是一种对输入图像的 alpha 遮罩的模糊,偏移量是你指定的颜色。此属性需要 x 轴和 y 轴偏移值,以及阴影的颜色值。你也可以设置一个模糊半径值,这会决定阴影是尖锐还是模糊。


img { filter: drop-shadow(5px 5px 10px #666); }


Url()

虽然上述这些滤镜非常有用,但它们都是通用的,你的项目上可能需要更多自定义化效果。如果上述的滤镜没有满足你的需求,你可以创建自己的 SVG 滤镜并通过其 id 使用 url() 来引用这个滤镜。


  <svg style="position: absolute; top: -99999px" xmlns="http://www.w3.org/2000/svg">
<filter id="greenish">
  <feComponentTransfer>
    <feFuncR type="linear" slope="2" intercept="-0.5"/>
    <feFuncG type="linear" slope="2" intercept="-0."/>
    <feFuncB type="linear" slope="2" intercept="-0.25"/>
  </feComponentTransfer>
</filter>
<filter id="bluish">
  <feComponentTransfer>
    <feFuncR type="linear" slope="2" intercept="-0.5"/>
    <feFuncG type="linear" slope="2" intercept="-0.1"/>
    <feFuncB type="linear" slope="2" intercept="0"/>
  </feComponentTransfer>
</filter>
  </svg>

<style type="text/css">
  img {
filter: url('#greenish');
  }
  </style>


组合和动画滤镜

你也把可以多个滤镜组合在一起来创造各种效果。多数情况下,滤镜的顺序并没有多大关系,但是有的滤镜会根据在它们在你的 CSS 顺序会被其他一些滤镜将覆盖。例如,使用一个灰度滤镜后再使用深褐色滤镜最后只会出现一个棕色图像,如果顺序反过来的话会得到的一个灰度化的图像。

滤镜也可变成动画。通过正确的设置动画,你可以创建一些非常有趣的动画效果。以此为例:

img {
animation: haunted 3s infinite;
  }
 
  @keyframes haunted {
0% {
  filter: brightness(20%);
}
48% {
  filter: brightness(20%);
}
50% {
  filter: sepia(1) contrast(2) brightness(200%);
}
....
96% {
  filter: brightness(400%);
}
  }
 
在上面的代码中,具有不同值的多个滤镜会在动画的过程中生效。

 

补充

虽然滤镜会在一个元素的盒模型外描绘,但对该元素的盒子模型的几何结构没有影响。要记住滤镜会影响目标元素的一切,包括:背景,边框和文字修饰。你也可以在视频和内联框架中也使用滤镜。下面的演示说明了这个概念。更多的例子可在 Bennett Feely’s 的网站查看。

iframe

所有这些滤镜都非常伟大且性能很好,除了模糊滤镜之外,如果你的浏览器不支持硬件加速的话可能会有些慢。url() 滤镜的性能会根据你使用哪些 SVG 滤镜而决定。

filter 属性被所有主流浏览器支持。Chrome 和 Opera 需要这个属性的前缀版本一起使用。滤镜不支持 IE,不过 Edge 可以部分支持,也就是除了 url() 之外都支持。

结语

本贴给开发者探索了许多 CSS 滤镜功能。它们有很好的浏览器支持性,易于使用且比 canvas 的方案有更好的性能。此外,正如我在上面提到的,你也可以在视频以及与其他元素中使用。

如果你还有更绝妙的利用滤镜的方法,请给我留个言,或者提出你的疑问。

下面我们来看一篇关于php数组的索引的学习笔记,希望这篇教程能够帮助到各位朋友,数据索引估计许多的朋友没有看过吧。

存储在数组中的值被称为数组元素,每个数组元素有一个相关的引索(也称为关键字),可以用来访问元素。PHP允许间隔性的使用数字或字符串作为数组的引索。使用字符串作为引索更具有意义和便于使用。

数字索引数组

创建一个数组可以使用如下代码:

$num = array(1, 2, 3, 4, 5, 6);
 
以上代码会创建一个名为 $num 的数组,包含数字从1~6,array() 是一个语言结构,而不是函数。
如果需要按照升序排列数字保存在一个数组中,可以使用 range()函数自动创建这个数组。

$num1 = range(1, 10);
 
这行代码将创建一个1~10的数字数组。range()函数也可以对字符进行操作。
要访问一个数组,可以使用变量名称和关键字或索引的组合来访问其内容。使用 $num[0] ,就可以使用数组 $num 中的数据了。在PHP中,数字索引的默认值是从0开始的。

$num[0] = 1;
 
数字数组使用有序的数字作为引索,可以使用 for 循环来显示数组的内容:


for ($i = 0; $i<6; i++) {
  echo $num[$i];
}
 
非数字索引数组

在PHP中,数组不需要预先初始化或者创建。


$products[0] = rice;
$products[1] = milk;
 
这样就建立了一个数组 $products ,第一行代码是创建一个只有 rice 元素的数组。
还可以使用 => 将每个变量值与关键字关联起来。

$prices = array('rice' => 10, 'milk' => 20);
 
和之前一样,可以使用 $prices[‘rice’] 的方式访问数组,这也是日常使用中常见的方式。

由于非数字索引数组的索引是关键字,所以可以使用 foreach 循环或 list() 和 each() 结构来进行循环访问。

foreach循环


foreach ($prices as $key => $value) {
  echo $key."-".$value."<br />";
}
 
each()结构


while ($element = each($prices)) {
  echo $element['key'];
  echo "-";
  echo $element['value'];
  echo "<br />";
}
 
each() 这个函数将返回数组的当前元素,并将下一个元素作为当前元素。因为在 while 循环中调用 each() 函数,它将按顺序返回数组中每个元素,并且当它到达数组末尾时,循环操作终止。

list()结构


while(list($produce, $price) = each($pirces) {
  echo "$product - $"proce<br />";
}
 

PHP错误日志我们前面有介绍过一篇关于log_errors 的用法了,下面我们再来看一篇关于PHP错误日志的使用及汇总,具体的如下文介绍。


对于PHP开发者来说,一旦某个产品投入使用,应该立即将display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。但是,任何一个产品在投入使用后,都难免会有错误出现,那么如何记录一些对开发者有用的错误报告呢?

我们可以在单独的文本文件中将错误报告作为日志记录。错误日志的记录,可以帮助开发人员或者 管理人员查看系统是否存在问题。

如果需要将程序中的错误报告写入错误日志中,只要在PHP的配置文件中,将配置指令log_errors开启即可。错误报告默认就会记录到Web服务器的日志文件里,例如记录到Apache服务器的错误日志文件error.log中。当然也可以记录错误日志到指定的文件中 或发送给系统syslog,分别介绍如下:

1、使用指定的文件记录错误报告日志

如果使用自己指定的文件记录错误日志,一定要确保将这个文件存放在文档根目录之外,以减少遭到攻击的可能。并且该文件一定要让PHP脚本的执行用户(Web服务器进程所有者)具有写权限。

假设在Linux操作系统中,将/usr/local/目录下的error.log文件作为错误日志文件,并设置Web服务器进程用户具有写的权限。然后在PHP的配置文件中, 将error_log指令的值设置为这个错误日志文件的绝对路径。

此时需要将php.ini中的配置指令做如下修改:

1. error_reporting  =  E_ALL               ;将会向PHP报告发生的每个错误  

2. display_errors = Off                    ;不显示满足上条 指令所定义规则的所有错误报告  

3. log_errors = On                         ;决定日志语句记录的位置  

4. log_errors_max_len = 1024               ;设置每个日志项的最大长度  

5. error_log = /www/phpernote/error.log    ;指定产生的 错误报告写入的日志文件位置 

PHP的配置文件按上面的方式设置完成以后,并重新启动Web服务器。这样,在执行PHP的任何脚本文件时,所产生的所有错误报告都不会在浏览器中显示,而会记录在自己指定的错误日志/www/phpernote/error.log文件中。

此外,不仅可以记录满足error_reporting所定义规则的所有错误,而且还可以使用PHP中的error_log()函数,送出一个用户自定义的错误信息。该函数的原型如下所示:

1. bool error_log ( string message [, int message_type  [, string destination [, string extra_headers]]] ) 

此函数会送出错误信息到Web服务器的错误日志文件、某个TCP服务器或到指定文件中。该函数执行成功则返回TRUE,失败则返回FALSE。

第一个参数 message 是必选项,即为要送出的错误信息。如果仅使用这一个参数,会按配置文件php.ini中所设置的位置处发送消息。

第二个参数 message_type为整数值:0表示送到操作系统的日志中;1则使用PHP的Mail()函数,发送信息到某E-mail处。

第四个参数extra_headers亦会用到;2则将错误信息送到TCP服务器中,此时第三个参数destination表示目的地IP及Port;3则将信息存到文件destination中。

如果以登入Oracle数据库出现问题的处理为例,该函数的使用如下所示:

if(!Ora_Logon($username, $password)){    
    error_log("Oracle数据库不可用!", 0);        //将错误消息写入到操作系统日志中  
}
if(!($foo=allocate_new_foo()){  
    error_log("出现大麻烦了!", 1, ". 111cn.net");   //发送到管理员邮箱中  
}
error_log("搞砸了!",2,"localhost:5000");     //发送到本机对应5000端口的服务器中
error_log("搞砸了!",3,"/usr/local/errors.log");  //发送到指定的文件中


2、 错误信息记录到操作系统的日志里

错误报告也可以被记录到操作系统日志里,但不同的操作系统之间的日志管理有点区别。在Linux上错误语句将送往syslog,而在Windows上错误将发送到事件日志里。如果你不熟悉syslog,起码要知道它是基于UNIX的日志工具,它提供了一个API来记录与系统和应用程序执行有关的消息。

Windows事件日志实际上与UNIX的syslog相同,这些日志通常可以通过事件查看器来查看。如果希望将错误报告写到操作系统的日志里,可以在配置文件中将error_log指令的值设置为syslog。

具体需要在php.ini中修改的配置指令如下所示:

1. error_reporting  =  E_ALL                   ;将会向PHP报告发生的每个错误  

2. display_errors = Off                        ;不显示 满足上条指令所定义规则的所有错误报告  

3. log_errors = On                             ;决定日志语句记录的位置  

4. log_errors_max_len = 1024                   ;设置每个日志项的最大长度  

5. error_log = syslog                          ;指定产生的错误报告写入操作系统的日志里 

除了一般的错误输出之外,PHP还允许向系统syslog中发送定制的消息。虽然通过前面介绍的error_log()函数,也可以向syslog中发送定制的消息,但在PHP中为这个特性提供了需要一起使用的4个专用函数。

分别介绍如下:

define_syslog_variables()

在使用openlog()、syslog及closelog()三个函数之前必须先调用该函数。因为在调用该函数时,它会根据现在的系统环境为下面三个函数初使用化一些必需的常量。

openlog()

打开一个和当前系统中日志器的连接,为向系统插入日志消息做好准备。并将提供的第一个字符串参数插入到每个日志消息中,该函数还需要指定两个将在日志上下文使用的参数,可以参考官方文档使用。

 syslog()

该函数向系统日志中发送一个定制消息。需要两个必选参数,第一个参数通过指定一个常量定制消息的优先级。例如LOG_WARNING表示一般的警告,LOG_EMERG表示严重地可以预示着系统崩溃的问题,一些其他的表示严重程度的常量可以参考官方文档使用。第二个参数则是向系统日志中发送的定制 消息,需要提供一个消息字符串,也可以是PHP引擎在运行时提供的错误字符串。

closelog()

该函数在向系统日志中发送完成定制消息以后调用,关闭由openlog()函数打开的日志连接。

如果在配置文件中,已经开启向syslog发送定制消息的指令,就可以使用前面介绍的四个函数发送一个警告消息到系统日志中,并通过系统中的syslog解析工具,查看和分析由PHP程序发送的定制消息,如下所示:


define_syslog_variables(); 

openlog("PHP5", LOG_PID , LOG_USER); 

syslog(LOG_WARNING, "警告报告向syslog中发送的演示, 警告时间:".date("Y/m/d H:i:s"));

closelog();

以Windows系统为例,通过右击"我的电脑"选择管理选项,然后到系统工具菜单中,选择事件查看器,再找到应用程序选项,就可以看到我们自己定制的警告消息了。上面这段代码将在系统的syslog文件中,生成类似下面的一条信息,是事件的一部分:

1. PHP5[3084], 警告报告向syslog中发送的演示, 警告时间:2009/03/26 04:09:11. 

使用指定的文件还是使用syslog记录错误日志,取决于你所在的Web服务器环境。如果你可以控制Web服务器,使用syslog是最理想的,因为你能利用syslog的解析工具来查看和分析日志。但如果你的网站在共享服务器的虚拟主机中运行,就只有使用单独的文本文件记录错误日志了。

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • JavaScript判断浏览器及其版本信息

    本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 一个奇葩的最短的 IE 版本判断JS脚本

    使用 conditional comment 来判断 IE 的版本。嗯,是早早有人提出,但没有认真看代码。昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱。今天看到 Paul Irish 也提起,那么,推荐一下吧。这是作者博客上写的:复制代码 代码...2014-05-31
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • React引入antd-mobile+postcss搭建移动端

    本文给大家分享React引入antd-mobile+postcss搭建移动端的详细流程,文末给大家分享我的一些经验记录使用antd-mobile时发现我之前配置的postcss失效了,防止大家踩坑,特此把解决方案分享到脚本之家平台,需要的朋友参考下吧...2021-06-21
  • jQuery Mobile开发中日期插件Mobiscroll使用说明

    这篇文章主要介绍了jQuery Mobile开发中日期插件Mobiscroll使用说明,需要的朋友可以参考下...2016-03-03
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • c# 判断是否为空然后赋值的4种实现方法

    下面小编就为大家分享一篇c# 判断是否为空然后赋值的4种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • MySql存储过程之逻辑判断和条件控制

    具体详情请看下文小编给大家带来的知识点。同编写程序类似,存储过程中也有对应的条件判断,功能类似于if、switch。在MySql里面对应的是IF和CASE1、IF判断IF判断的格式是这样的:IF expression THEN commands [ELSEIF ex...2015-10-21