const 定義陣列問題

2021-09-25 05:18:31 字數 973 閱讀 2504

const keysarr = array(

'aaa' => '11111', 

'bbb' => '22222',

'ccc' => '33333',

'ddd' => '44444'

);上面是標準的錯誤格式,php編譯不會報詳細錯誤資訊(500)

查詢半天的**問題,一直未發現錯誤,後使用 /usr/local/php/bin/php ***xxcontroller.php 編譯顯示錯誤資訊

php fatal error:  arrays are not allowed in class constants

我們可以採用一下方法定義陣列(在網上查詢):

方法一:採用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);

定義const 型指標

有三種方法來定義const 型指標 1 const 型別 指標變數名 該語句的作用是 定義指標變數所指資料值為常量,即 指標變數所指資料值不能改變,但指標變數值可以改變。例如 float x,y const float p x 定義指標變數p所指資料值 p為常量 p 25 錯誤,p所指變數x資料值不...

const 陣列 作用域

const int a 10 int i 0 for i 0 i 5 i a i a i 1 陣列a裡面內容不能能修改 但若用指標指向陣列位址 int p a for i 0 i 5 i p i p i 1 可以修改 這是因為const是對編譯器來說的,如果你能騙過編譯器,幹什麼都行 const就是...

字元陣列 指標,const

一 字元陣列?1 什麼是字元陣列?在乙個陣列中,每個成員都是字元。例如 char a 3 每乙個成員都是字元來的,所以組成乙個字串。2 字元陣列的賦值?char a 10 剩餘5個沒有賦值的成員都是十進位制0。等價於5個 0 char a 10 將字串 hello 直接賦值給陣列。char a 10...