PHP类 const常量访问方法例子

 更新时间:2016年11月25日 14:57  点击:1353
在php中定义常量我们使用的是const来定义了并且const定义常量是不需要$符号了,如果使用$就是变量 了哦,下面我来一起来看看类 const常量访问

例子。const常量访问

 代码如下 复制代码

class Math {
   const num=3.14;
  
   public function showNum(){
       return self::num;
   }
}

echo Math::num."<br/>";

$math=new Math();
echo $math->showNum();

结果:

3.14
3.14

例子,变量访问

 代码如下 复制代码

class Math {
   const num=3.14;
   var   $abc='aa';
   public function showNum(){
       return self::num;
   }
}

echo Math::abc."<br/>";

提示Fatal error: Undefined class constant 'abc' in E:xxx1.php on line 12

总结:所以const是定义变量可以使用Math::num来访问而 var定义的内部变量使用Math::num访问时就会提示变量未定义了哦。

想起我们N年前学习php或C语言时发会发对于$a++ 与++$a总是很不了解,不知道是先加一还是循环之后再加一,下面我来给各位详细的介绍一下吧。

这里我们来聊聊PHP的运算符号的升级版: ++,--,呵呵。

++  即自增,

--    即自减。

实际运用:

$a = 10; $a++ = ?  //先用再加,最后结果为11

$a = 10; ++$a = ?  //先加再用,最后结果为11

$a = 10;

$b = $a++ + ++$a;

echo $a;

echo $b;   //算一下吧,结果我回复解答


来一段例子,来引出重点。

$a = true;

echo $a++;

echo $a + 1;

$b = 'c';

echo $b++;

echo $b++;


上面四个输出你是否知道正确答案呢,下面是总结的一些规律,各位也可以亲自动手实验。

1. 布尔型不参与 ++ 运算, 不会进行类型转换而参与自增。所以第一个输出是1。

2. 布尔型参与算数运算如+,-,会自动进行类型转换,所以第二个输出是2。

3. PHP中字符串++表示升序,所以第三个输出是c, 第四个输出是d。

php排序算法有很多种其实我们其它程序能实现的算法在php中同样可以实现,下面我来介绍PHP中冒泡排序与快速排序例子,希望对各位会带来帮助哦。

快速排序法:

 代码如下 复制代码

function sortArray($arr){
    $count=count($arr);
    for($i=0;$i<$count-1;$i++){
        for($j=$i+1;$j<$count;$j++){
            if($arr[$i]>$arr[$j]){
                $tem=$arr[$i];
                $arr[$i]=$arr[$j];
                $arr[$j]=$tem;
            }
        }
    }
    return $arr;
}

冒泡排序法

 代码如下 复制代码

function sortArray2($arr){
    $count=count($arr);
    for($i=0;$i<$count-1;$i++){
        for($j=0;$j<$count-1-$i;$j++){
            if($arr[$j]>$arr[$j+1]){
                $tem=$arr[$j];
                $arr[$j]=$arr[$j+1];
                $arr[$j+1]=$tem;
            }
        }
    }
   
    return $arr;
}

$a=array(23,14,35,28,45,98,12,19,1,78);

print_r(($a));
print_r(sortArray($a));
print_r(sortArray2($a));

结果

PHP中冒泡排序与快速排序例子

in_array函数是用来判断我们输入的值是否在指定数组值中存在了,但我们在使用时如果指定值为0或空时我们会发现判断并不确定了,下面我来给大家介绍此问题的原因与例子。

0.in_array常用的使用方法

 

 代码如下 复制代码

<?php
$nameslist = array("小皮皮", "小轩轩", "工了以", "可爱的小贸");

if (in_array("工了以",$nameslist))
  {
  echo "找到呀";
  }
else
  {
  echo "不知道在哪里找,找不到";
  }
?>

输出的值为

找到呀


1.期望输出的是false,但实际上是true

 代码如下 复制代码

<?php
$value='';
$falsehortrue=in_array($value,array(0,1));
var_dump($falsehortrue);
//bool(true)
?>

2.使用in_array的第三个类型比较参数后,输出结果与期望相同输出的是false

 代码如下 复制代码

<?php
$value='';
$falsehortrue=in_array($value,array(0,1),true);
var_dump($falsehortrue);
// bool(false)
?>

总结,php in_array函数对于空值与0或1时我们需要带参数 true来验证哦,否则可能出现准情况。

register_globals是php中一个自定全局变量功能,在默认情况下是关闭了,但如果你使用thinkphp框架那么就需要打开register_globals功能了,下面我们一起来看看如何开启它吧。


开启方法

我们找到php.ini

查找:register_globals

register_globals = Off

更改为

register_globals = On

[!--infotagslink--]

相关文章

  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • Mysql select语句设置默认值的方法

    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
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • js控制页面控件隐藏显示的两种方法介绍

    javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13
  • 连接MySql速度慢的解决方法(skip-name-resolve)

    最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21
  • C#方法的总结详解

    本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04