<?php // 数组的下标应该怎么写????// 把NOTICE级别的错误信息屏蔽掉 // 在开必项目前会专门讲错误报告设置 error_reporting(E_ALL & ~E_NOTICE); $arr = array(1=>'中',2=>'华','name'=>'张三','area'=>'衡水'); echo $arr[1],$arr['1'],$arr["1"],'<br />'; echo $arr['name'],$arr["name"],$arr[name],'<br />';// 1: 对于数字的索引值,不必加单双引号 // 因为加了单双引号,比如"1",则需要把"1"转成整型1,来寻找该单元. // 影响了效率.// 第2个问题: 字符串型的下标,要不要加单双引号???? echo '没问题---',$arr[name],'<br />';define('name','dsafdsafdsaf');error_reporting(E_ALL); echo '有问题----',$arr[name],'<br />'; // 张三没打印出来!!!/* 不仅没打出来,而且出现如下提示: Notice: Undefined index: dsafdsafdsaf in D:\www\1009\10.php on line 29这说明 $arr[name] -->引用的是 $arr[dsafdsafdsaf] 单元,没有这个单元,所以报NOTICE为什么引用$arr[dsafdsafdsaf] 这个单元? 答:因为name没有加单双引号,理解成常量,并且按常量值来做下标. 如果没有该常量,再次把name当成字符串的下标来处理.不加单双引号,流程上,先理解成常量,如无,再当成字符串,效率必然低. */// 第3个问题,加单引还是加双引? /* 在字符串学习的时候,单引号的解析速度远比双引号快.因此,优先加 单引号. *//*** 总结: 数字类型的索引,不必加引号 字符串类型索引必加,而且优先加单引号 ***/?>