如何更正PHP注意:未定义的索引

时间:2014-11-20 07:20:02

标签: php indexing undefined notice

我收到错误

PHP注意:未定义的索引:第57行的/home/***/public_html/catalog/view/theme/default/template/checkout/cart.tpl中的价格

我需要查看哪些内容才能更正此错误。 谢谢

54	 <div>							
55	 <?php foreach ($product['option'] as $option) { ?>							
56	 <?php $option_table[$option['name']] = $option['value'];  ?>		
**57 <?php $option_table_price[$option['price']] = $option['price']; ?>**		
58	 <?php if($option['name'][0] != 's') { ?>		
59	 - <small><?php echo $option['name']; ?>: <?php echo $option['value']; ?></small><br />
60	<?php }?>	
Thank you	
61	<?php } ?>

1 个答案:

答案 0 :(得分:0)

第一种方法是使用isset函数

检查数组
 if (isset($option['type']))
 {
     $option_table_price[$option['type']] = $option['type'];
 }  

另一种方式是array_key_exists

 if (array_key_exists('type', $option))
 {
     $option_table_price[$option['type']] = $option['type'];
 }  

至于我,第二种方式更好

备注:您的代码不可读,删除额外的PHP标记并制作单个PHP代码块

<?php
foreach ($product['option'] as $option) {
    $option_table[$option['name']] = $option['value'];
    $option_table_price[$option['price']] = $option['price'];

    if($option['name'][0] != 's')
    {
        printf('<small>%s: %s</small><br />', $option['name'], $option['value']);
    }
}
?>