search

玩转php常量

常量的命名规则

命名: 与变量相同的命名规则

方法:define()函数

格式:define('常量名','具体值');

例子:define('PI',3.14);

 

常量与变量的比较

同:

1:命名规则相同(但一般为大写)

不同:

1:引用常量时不用$,直接用名称.

2:常量只能用define定义,不能用赋值语句

3:常量一旦定义就不能重新定义或取消定义

4:常量的值只能是标量(只能是整型、浮点型、布尔型、字符型、NULL

<?php

//定义常量

define('pi',3.14);

//计算园的面的面积
$r=3;

echo pi*$r*$r;
//结果:28.26


//常量定义过后,不能再重新定义
define('pi',3.23);

//结果:Notice: Constant pi already defined in C:\wamp\www\0124\05.php on line 15

//常量不能重新赋值
pi=100;
echo pi;

//结果:Parse error: syntax error, unexpected '=' in C:\wamp\www\0124\05.php on line 21
//会有语法上的错误

$PI=10;

function text(){
   
echo $PI;//函数有作用域。此$PI变量是函数里面的与外边的$PI不是一个。
   echo pi;//常量一次定义,可以再任何地方使用
}

//结果:Notice: Undefined variable: PI in C:\wamp\www\0124\05.php on line 31

text();
?>

如何判断一个常量有没有定义?
define 定义常量

defined 判断常量

<?php

if(defined('PI')){

   echo 'PI常量已经定义了。<br/>';
}else{
     echo 'PI常量未定义,我来定义它<br/>';
     define('PI',33322);
}
echo PI;

?>
结果:PI常量未定义,我来定义它
     33322

动态使用常量方法

<?php

//访问:http://localhost/0124/06.php?who=DA
$who=$_GET['who'];
//动态根据传来的值,显示不同的常量
define('DA','刘备');
define('ER','关羽');
define('SAN','张飞');


echo $who,'<br/>';

//以$who=DA为例
//$who变量的值为DA,解析变量得到DA,打印DA,是没错
//但问题是,我们想解析出$who的值,即DA,再把DA当成常量的名,再解析出常量的值来

//想用动态常量的话,即想用变量的值当成常量名的话,必须要考constant 函数才可以。

echo constant($who);

//结果:DA
//      刘备
?>


 


 

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.