PHP数组$item[id] $item['id'] $item["id"]有什么区别呢?

WBOY
Freigeben: 2016-06-06 20:32:29
Original
1595 Leute haben es durchsucht

<code><?php echo anchor("admin/article/delete/$item[id]", '删除','删除');?>   //正确
<?php echo anchor("admin/article/delete/$item['id']", '删除','删除');?>  //报错
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

这是为什么?

<code><a href="Article/edit/<?php%20echo%20%24item%5B'id'%5D?>">修改</a>   //正确
<a href="Article/edit/<?php%20echo%20%24item%5Bid%5D?>">修改</a>    //错误
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

有人能解释下吗?

回复内容:

<code><?php echo anchor("admin/article/delete/$item[id]", '删除','删除');?>   //正确
<?php echo anchor("admin/article/delete/$item['id']", '删除','删除');?>  //报错
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

这是为什么?

<code><a href="Article/edit/<?php%20echo%20%24item%5B'id'%5D?>">修改</a>   //正确
<a href="Article/edit/<?php%20echo%20%24item%5Bid%5D?>">修改</a>    //错误
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

有人能解释下吗?

<code><a href="Article/edit/<?php%20echo%20%24item%5B'id'%5D?>">修改</a>   //正确
<a href="Article/edit/<?php%20echo%20%24item%5Bid%5D?>">修改</a>    //错误
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

这个$item是变量,而id是字符串,所以要引号。

<code><?php echo anchor("admin/article/delete/$item[id]", '删除','删除');?>   //正确
<?php echo anchor("admin/article/delete/$item['id']", '删除','删除');?>  //报错
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

这个$item是字符串,id也是字符串,组合起来就是$item[id],如果id加引号,就等于"{'id'}"。

<code>"$item[id]" == $item['id']
"item['id']" == $item["'id'"]
</code>
Nach dem Login kopieren

原因是字符串"$item"在引号会转义成变量$item,而$item里面的键名id是不会被转义的,所以不必要双重引号。

<code><a href="Article/edit/<?php%20echo%20%24item%5B'id'%5D?>">修改</a>   //正确
<a href="Article/edit/<?php%20echo%20%24item%5Bid%5D?>">修改</a>    //错误
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

下面这个错误没问题,不带引号的字符下标id会当成一个常量,而你应该没有定义这个常量

<code><?php echo anchor("admin/article/delete/$item[id]", '删除','删除');?>   //正确
<?php echo anchor("admin/article/delete/$item['id']", '删除','删除');?>  //报错
</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

你可以这样试试:

<code><?php echo anchor("admin/article/delete/$item[id]", '删除','删除');?>   //正确
<?php echo anchor("admin/article/delete/{$item['id']}", '删除','删除');?>  //报错
</code>
Nach dem Login kopieren

<code><?php $arr['name'] = 'lamp';
echo $arr['name'];     //正确
echo "$arr['name']";   //报错
echo "$arr[name]";     //正确
echo "{$arr['name']}"; //正确
</code></code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage