博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP:数组中的引号问题
阅读量:6814 次
发布时间:2019-06-26

本文共 629 字,大约阅读时间需要 2 分钟。

代码举例:

代码
<?
php
  
$arr
  
=
 
array
(
'
a
'
=>
'
one
'
,
 
'
b
'
=>
'
two
'
);
  
$arr2
 
=
 
array
(
0
=>
'
one
'
,
 
1
=>
'
two
'
);
  
$arr3
 
=
 
array
(
'
a
'
=>
'
one
'
,
 
'
b
'
=>
'
two
'
);
  
define
(
'
a
'
,
 
'
b
'
);        
//
定义常量 a
  
echo
 
$arr3
[a];            
//
解释为 $arr['b']
  
echo
 
$arr2
[
0
];            
//
输出 'one'
  
echo
 
$arr
[b];             
//
会产生警告,但不是错误。会解释为 $arr['b']
  
echo
 
$arr
[a];             
//
会产生警告,但不是错误。会解释为 $arr['a']
?>

 

分析:

一定要加引号,如果不加引号,则方括号中是一个常量,PHP 可能会在以后定义此常量,不幸的是你的代码中有同样的名字。

它能运行,是因为 PHP 自动将裸字符串(没有引号的字符串且不对应于任何已知符号)转换成一个其值为该裸字符串的正常字符串。
例如,如果没有常量定义为 anykey,PHP 将把它替代为 'anykey' 并使用之。

结果:$arr['a'] 的效率高于 $arr[a];

转载于:https://www.cnblogs.com/rainman/archive/2009/11/17/1604845.html

你可能感兴趣的文章
javascript 原生态ajax
查看>>
最大钻石问题
查看>>
LVM及其使用
查看>>
Java开发工具IntelliJ IDEA定义语言和文件类型详细说明
查看>>
理解POST和PUT的区别,顺便提下RESTful
查看>>
笔记本电脑怎么设置wifi热点共享
查看>>
LM3S6911 锁片 解锁
查看>>
存储管理的一张表
查看>>
学习 AngularJS
查看>>
用Cacls命令修改文件访问控制权限
查看>>
FlexPod上安装vSphere 5.5配置中的排错(1)
查看>>
分布式消息队列中间件系列研究之阿堂教程(高级篇)
查看>>
rsync安装脚本
查看>>
我的友情链接
查看>>
Exchange 2010系列部署报告-域控制器部署
查看>>
Windows Server TP3之NanoServer
查看>>
squid做代理服务器实例配置
查看>>
自用PHP编码规范
查看>>
分解质因数
查看>>
[转载]阿里云服务器ubuntu安装java运行环境
查看>>