Php 如果索引不存在怎么办

Php 如果索引不存在怎么办,php,if-statement,Php,If Statement,我有这个if语句 <?php if(in_array($product['product_id'], $selected_products['business'])) { ?> 但有时数组$selected\u products没有索引business。。如何在没有外部if语句的情况下更改if条件取决于索引不存在时要执行的操作 如果您只想在索引存在时执行此检查,请在其前面添加一个isset()检查(为清楚起见,请换行): 此外,如果在索引不存在的情况下需要执行其他操作,请使用&

我有这个if语句

<?php if(in_array($product['product_id'], $selected_products['business'])) { ?>


但有时数组
$selected\u products
没有索引
business
。。如何在没有外部if语句的情况下更改if条件取决于索引不存在时要执行的操作

如果您只想在索引存在时执行此检查,请在其前面添加一个
isset()
检查(为清楚起见,请换行):


此外,如果在索引不存在的情况下需要执行其他操作,请使用&&运算符附加一个
else
块。

短路
isset
。对于短路计算,如果第一个表达式失败,则不计算第二个表达式


您可以使用三元语句,但该行有点忙:

<?php if(in_array($product['product_id'], isset($selected_products['business']) ? $selected_products['business'] : false))) { ?>
使用来组合两个表达式:

if (array_key_exists('business', $selected_products) && in_array($product['product_id'], $selected_products['business']))

.. 这有助于防止出现错误消息。(+1否则)我认为
设置($selected_products['business']
if (array_key_exists('business', $selected_products) && in_array($product['product_id'], $selected_products['business']))