菜单

php基础入门,php的常量和变量实例详解_php实例_脚本之家

2020年2月5日 - www.2138.com

php的常量和变量实例详细明白

一、序言

举个例子在命令行调节和测量试验php,传入的参数通过$argv获取,注意当中富含了文件名那三个要素,数组相月素的个数通过$argc获取。

 由于新公司的急需,作者也就从原来的asp专向了,php的上学中。希望由此本人的就学能够致早的精晓精通php

指的是变量的称谓可变,变量的标记符能够由另二个变量的值来代替。

二、php独特的语法特色

比方说:第三个语句是为argv1这几个变量赋值。

 1、引号问题

选拔define定义,不可删除和校勘,调用时直接写名称。define还应该有三参数的本子,第多少个参数代表是不是大小写不敏感,私下认可为false。

在php中单引号和双引号的效能基本雷同,但是多少场地却又是见仁见智的

技巧:先检查常量有未有被定义再定义,使用defined函数:

都得以用来含有要援用字符串

'; ?> 
<meta charset="utf-8">
<?php
    $str1="xiecanyong";
    $str2='xcy';
    echo $str1;
    echo "<br />";
    echo $str2;
?>

对此有特殊符号的常量,须要选用constant函数来调用,注意此时常量名应当加引号,比如:

只是单引号中的内容只被分析成为字符串,而双引号可以在字符串中投入变量

'; echo constant; ?> 
<meta charset="utf-8">
<?php
    $age=",I am age 22";
    $str1="xiecanyong$age";
    $str2='xcy$age';
    echo $str1;
    echo "<br />";
    echo $str2;
?>

获得已经定义的保有常量:

 

__LINE__获取当前所在的行,__FILE__取妥善前路径。

结果就自动运作一下,这里不表明

利用str_replace函数替换文件中的文件名称叫路线+文件名来保险文件路线变化仍是可以够访问。

2、PHP常量

www.2138.com,str_replace(,,,

PHP相比较于ASP,存在一些种类封装好的常量,那么些低价大家的利用,同期还帮助大家自行封装常量

在数字前加0是八进制,加0x是十八进制。

科学普及的常量有:

双引号与单引号均可,可是双引号能够深入分析当中变量,可是单引号功用高。

如下一些常用的PHP系统常量:

__FILE__ 当前PHP文件名

__LINE__ 当前PHP文件中所在的行数

__FUNCTION__ 当前所进行的函数

__CLASS__ 当前所推行的类

PHP_VERSION PHP的版本

PHP_OS 当前服务器的操作系统

TRUE 同true

FALSE 同false

E_EEvoqueROPRADO 到前段时间的荒诞处

E_WAEvoqueNING 到前段时间的警示处

E_PATiguanSE 语法有荒诞处

E_NOTICE PHP语言中有十分处

M__PI 圆周率

M__E 科学常数e

M__LOG2E 以2为底e的对数

M_LOG10E 以10为底e的对数

M_LN2 2的自然对数

M_LN10 10的自然对数

PHP系统常量的剧情就介绍到此地,希望对我们有着扶持。

双引号深入分析变量:{ }能够保障分开变量名与其它一些。

 举个例证:

感激阅读,希望能扶助到我们,感激大家对本站的支撑!

<meta charset="utf-8">
<?php
    echo __Line__;
?>

 

打字与印刷出来的结果是:3,表示最近是在第三行试行

在常量的施用中,大家平时是那样使用的

1、使用define方法来定义

<meta charset="utf-8">
<?php
    //模拟圆的面积计算
    define("R", 5);
    $area=R*R*pi();
    echo $area;
?>

 

2、使用const关键字来定义 举例:const p=2;那样就规定了叁个常量p,值为2

3、常量的查实

对此多个大型项目来说,大家不清楚某些参数是不是为变量照旧常量,借使是常量的话,那么重新赋值会生出错误,所以大家要透过defined方法来查证是否为有个别参数是不是为常量

 

<meta charset="utf-8">
<?php
    //$CONSTANT="2";
    define("CONSTANT","2");
if (defined('CONSTANT')) {
    echo CONSTANT;
}
?>

 

 

 

 

3、PHP字符串操作

上边以二个归咎的PHP字符串操作来说授一下

<meta charset="utf-8">
<?php
    $str = "Hello PHP";
    //获取指定字符在字符串中的位置
    echo  strpos($str,"P")."<br>";
    //截取指定位置的字符串(从第2个字符到最后)
    $str1 = substr($str,2);
    //截取指定位置的字符串(从第2个字符开始往后截取3位)
    $str2 = substr($str,2,2);
    //以指定间距分割字符串
    $str3 = str_split($str);
    $str4 = str_split($str,2);
    print_r($str4)."<br>";
    //以指定字符分割字符串
    $str = "PHP JAVA JS HTML CSS";
    $str5 = explode(" ",$str);
    print_r($str5)."<br>";
?>

 

字符串连接符

那边的字符串连接符跟其余语言的连接符有些区别,是通过”.”来起到三回九转的,而在PHP中.=相当于其余语言的+=

谬误决定运算符

PHP中提供了三个谬误决定运算符“@”,对于部分可能会在运营进程中失误的表达式时,大家不愿意出错的时候给客户出示错误音讯,那样对客商不团结。表达式所产生的此外错误音讯都被贮存在变量$php_errormsg中,此变量在每一遍出错开上下班时间都会被遮住,所以只要想用它的话必须要尽快反省。

<?php  
$conn = @mysql_connect("localhost","username","password");
echo "出错了,错误原因是:".$php_errormsg;
?>

 

error_reporting(0卡塔尔国;
幸免展现PHP警示提醒

越来越多的字符串操作详见:

4、可变函数

<meta charset="utf-8">
<?php
    function name(){
        echo "xcy";
    }
    $n="name";
    $n();
?>

 

原理是:首先定义个叁个name方法,然后是概念叁个变量内容为name,最终一句其实正是$n(卡塔尔国=name+(卡塔尔,也等于相当于执行了name这么些艺术

5、习以为常的放到函数

str_replace 能够兑现字符串的交替

function_exists 剖断一下函数是或不是存在

method_exists 能够用来检查测验类的措施是不是留存

class_exists类是或不是定义能够选用 

6、PHP面向对象

叁个轻松易行的PHP面向对象

<meta charset="utf-8">
<?php
    //定义一个类
    class Person{
        //定义一个属性
        public $name="liLei";
        //定义一个方法
        public function Hobby(){
            return $this->name;
        }
    }
  //实例化
    $per=new Person();
    $per->name='xiaoLi';
    echo $per->Hobby();
?>

 

极度注意->后边的变量不能够加上”$”

相通大家广阔的有public、private、protected那多少个修饰符

要专一的是格局和总体性也足以被static修饰,可是被修饰的主意仍为性质不得以选择->来调用,应该要换来::

<meta charset="utf-8">
<?php
    //定义一个类
    class Person{
        //定义一个属性
        static $name="LiLei";
    }
    error_reporting(0);
    $per=new Person();
    $per::name;
?>

 

布局函数

在PHP中也设有布局函数,然而书写上与asp有个别不经过

<meta charset="utf-8">
<?php
    //定义一个构造类
    class Person{
        public function __construct(){
            echo "this is construct";
        }
    }
    $per=new Person();

?>

 

纵然是继续关系中,子类能够经过parent::__construct(卡塔尔来调用父类的布局函数

<meta charset="utf-8">
<?php
    //定义一个构造类
    class Person{
        public function __construct(){
            echo "父类构造函数n";
        }
    }
    class LiLei extends Person{
        public function __construct(){
            parent::__construct();
            echo "子类构造函数n";

        }
    }
    $per=new LiLei();

?>

在static方法中,不容许选取$this来对本人的调用,应该要写成self,同期大家应有还要小心::这么些标识后边的$是无法轻松的

<meta charset="utf-8">
<?php
    //定义一个构造类
    class Person{
        public function __construct(){
            echo "父类构造函数n";
        }
    }
    class LiLei extends Person{

        public function __construct(){
            parent::__construct();
            echo "子类构造函数n";            
        }
        public static $name='LiLei';
        public static function GoodAt(){
            return self::$name;
        }
    }
    $per=new LiLei();
    echo "<br />";
    echo $per::GoodAt();
?>

_destruct(卡塔尔国,这一个办法为析构函数,然而出于PHP中存在垃圾回收机制,所以那一个不时用

重载

此间的重载跟C#中艺术的重载不是同一个概念,这里的重载指的是,对品质的连带操作

class Car {
  private $ary = array();
 //创建属性
  public function __set($key, $val) {
     $this->ary[$key] = $val;
  }
  //获取属性
  public function __get($key) {
      if (isset($this->ary[$key])) {
          return $this->ary[$key];
      }
      return null;
  }
  //判断属性是否存在
  public function __isset($key) {
      if (isset($this->ary[$key])) {
          return true;
      }
      return false;
  }
  //释放属性
  public function __unset($key) {
      unset($this->ary[$key]);
  }
}
$car = new Car();
$car->name = '汽车';  //name属性动态创建并赋值
echo $car->name;

办法的重载通过 call
来贯彻,当调用子虚乌有的艺术的时候,将会转为参数调用
call方法,当调用空头支票的静态方法时会使用
__callStatic 重载。

class Car {
  public $speed = 0;
  public function __call($name, $args) {
      if ($name == 'speedUp') {
          $this->speed += 10;
      }
  }
}
$car = new Car();
$car->speedUp(); //调用不存在的方法会使用重载
echo $car->speed;

 

任何高级的操作详见:

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图