萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP5.6 CONST新特性幾個例子

PHP5.6 CONST新特性幾個例子

百度搜索了一下關於PHP5.6新特性發現本站有整理過一篇相關的文章,但仔細對比了一下本文章與它有一些區別,下面我們來看看


PHP5.6起CONST新特性定義類常量可以使用常量標量表達式(Constant scalar expressions),例如:


<?php
 
class MyTimer {
    const SEC_PER_DAY = 60 * 60 * 24;
}
 
?>

define和CONST的區別是define可以用於定義全局常量,而CONST是定義類的常量。


static靜態變量與define,CONST的區別是static定義的變量是可以改變的,而後兩者不行,並且static靜態變量是隨類直接在內存中初始化,可以直接用,如$oneclass::hobby.

define可以定義數組嗎?例如define(‘A_ARRAY’,array(‘o’=>’ooo’,’x’=>’xxx’)).

在PHP5.6之前是不行的,但是可以通過serialize把數組序列化,如:


# define constant, serialize array
define ("FRUITS", serialize (array ("apple", "cherry", "banana")));
 
# use it
$my_fruits = unserialize (FRUITS);

PHP5.6之後可以直接const定義一個數組:

const DEFAULT_ROLES = array('guy', 'development team');

或者:

const DEFAULT_ROLES = ['guy', 'development team'];

如果是PHP7,可以直接用define定義數組:


define('DEFAULT_ROLES', array('guy', 'development team'));

copyright © 萬盛學電腦網 all rights reserved