PHP:避免未定义的索引?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP:避免未定义的索引?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
每次POST值不等于数组中设置的值列表时,将返回:未定义的索引错误,我做了一个if语句但是没有工作.

这是if语句:

if ($PRoducts[$_POST['product']] == $_POST['product']) {
do everything;}
else {
echo "This ITem is not available";
}

EDIT2:

看到避免警告的当前情况不会有太大帮助,因为我正在处理几个因素,例如购物车中的项目列表,如果未删除无效产品,它将被添加到购物清单会话中.

这是完整的脚本:

<?PHP

session_start();

//Getting the list
 $_SESSION['list'] = isset($_SESSION['list']) ? $_SESSION['list'] : array();    

 //stock    
 $products = array(      
     'Pineaple' => 500,'Banana' => 50,'Mango' => 150,'Milk' => 500,'Coffe' => 1200,'Butter' => 300,'bread' => 450,'Juice' => 780,'PEanuts' => 800,'Yogurt' => 450,'Beer' => 550,'@R_933_2406@' => 2500,);    

if( isset($_POST['product']) ){


     //Saving the stuff    
     $new_item = array(      
         'item' => $_POST['product'],'quantity' => $_POST['quantity'],'code' => $_POST['code'],'price' => $products[$_POST['product']] * $_POST['quantity'],);



    $new_product = true;    
    foreach($_SESSION['list'] as $key => $item) {      
        if ($item['item'] == $new_item['item']) {        
        $_SESSION['list'][$key]['quantity'] += $new_item['quantity'];        
        $_SESSION['list'][$key]['price'] = $products[$new_item['item']] * $new_item['quantity'];        
        $new_product = false;
        }    
    }   

    if ($new_product) {      
        $_SESSION['list'][] = $new_item;        
    }    

    /*if ($new_item['item'] != $products[$new_item['item']]) {
        echo "This item is not available";}*/

    //listing    
    echo  "<b>SHOPPING LIST</b></br>";    
    foreach($_SESSION['list'] as $key => $item) {       
        echo 'Product .'. $key. ' '. $item['item'],' ',$item['quantity'],' units: ',$item['price']. '<br />';    
        }

}

else {
echo "This item is not available";
}

echo "</br> <a href='index.htML'>Return to index</a> </br>";

//Printing session
var_dump($_SESSION);

session_destroy();

?>
我对你的代码感到有点困惑.看起来您的数组具有相同的键和值,因此:
$products['saucepan'] = 'saucepan'

也许您正在尝试这样做,这将检查产品数组中是否存在产品:

if(isset($_POST['product']) && array_key_exists($_POST['product'],$products))
{
  // do stuff
}
else
{
  echo "This item is not available";
}

脚本宝典总结

以上是脚本宝典为你收集整理的PHP:避免未定义的索引?全部内容,希望文章能够帮你解决PHP:避免未定义的索引?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。