php如何定義陣列常量

2022-08-18 20:30:14 字數 963 閱讀 9449

是這樣嗎?

<?php

define('best_phper',array('name'=>'鞏文','address'=>'china'));

my god,明確告訴你不可以

;原因是warning: constants may only evaluate to scalar values。

也就是說define常量的值;僅允許標量和 null。標量的型別是 integer, float,string 或者 boolean。所以陣列是不允許的

通常做法是採用下面的方法去間接地去定義「陣列常量」

方法一:採用eval()函式

<?php

define('best_phper',"return array('name'=>'鞏文','address'=>'china');");

$best_phper=eval(best_phper);

var_dump($best_phper);

方法二:採用json_encode()函式

<?php

define('best_phper',json_encode(array('name'=>'鞏文','address'=>'china')));

$best_phper=json_decode(best_phper,true);

var_dump($best_phper);

方法三:採用serialize()函式

<?php

define('best_phper',serialize(array('name'=>'鞏文','address'=>'china')));

$best_phper=unserialize(best_phper);

var_dump($best_phper);

php定義常量

宣告常量和宣告變數的方式不同,在php中是通過使用define 函式和const來定義常量的。常量的命名與變數相似,也要遵循php識別符號的命名規則。常量預設為大小寫敏感,按照慣例常量識別符號總是大寫的,但是不要再常量前面加上 符號。define 函式的格式如下 boolean define str...

php 常量定義

php常量定義及取值 常量在定義時賦值 不能變 不能銷毀 具有超全域性作用於 常量只能儲存標量資料 字元 整型 浮點 define hello world 變數名 hello 變數值 world echo hello 變數輸出 echo b constant hello 使用函式 constant ...

PHP中定義陣列常量(array常量)的方法

在php中,我們不能用const直接定義陣列常量,但是const可以定義字串常量,結合eval 函式使字串常量能執行。所以,我們可以用定義字串常量的方式來返回乙個陣列常量。程式設計客棧下面就是我們來見證奇蹟的時刻!複製 www.cppcns.com如下 class test t new test p...