一个PHP问题,求大神教

$words=array("browser","application","database"=>"MySQL");echo$words["database"];为何写成... $words=array("browser","application","database"=>"MySQL");
echo $words["database"];

为何写成:
echo $words["browser"];
就无法输出呢?
这个语句不是代表这三个数值都指向MySQL么?
展开
 我来答
柏紫玉rH
2016-09-12 · TA获得超过172个赞
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:131万
展开全部
$words这个变量里面存额是一个数组,你这个事php关联数组,关联数组是键值下标,而你这个输出只有键没值,也就是说,值为空,所以输出也为空
q1040400290
2016-09-12 · TA获得超过483个赞
知道小有建树答主
回答量:368
采纳率:0%
帮助的人:185万
展开全部
(手机打字可能有错别字,大小写问题请谅解)

PHP中的数组是键-值对应的,也就是说一个键就对应一个值。定义数组时应写 键=>值 的形式,如果某个值没有键对应,将会自动从0开始给值分配键

你这样的写法其实就是

$words = array(0 => 'browser', 1 => 'application', 'database' => 'mysql');

也就是说words的键0对应字符串browser,键1对应application,键database对应mysql

echo $words['database']; 意思就是输出 words 中键databse对应的值,即mysql
echo $words[0]; 意思就是输出 words中键0对应的值,即browser

值得一提的是,
$a = array(0=>'abc');
echo $a['0']; 或者 echo $a[false] 也会输出abc.因为PHP是弱类型的语言,会自动进行转换
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式