我想对数组使用三元运算符
请在下面检查我的代码
下面是我的动态数组
数组元素可以动态添加或删除。
$cars=array("Volvo","BMW","Toyota");
<?=(isset(exist(cars[3]))'Exist Element Name'?'Toyota');?>
它将代替丰田显示最后一个数组位置元素。这里是汽车[2]。因为汽车[3]还不存在。
我无法正确执行上述操作。如果存在Array element position,则显示“ FORD”之类的位置,如果不存在则显示最后一个array position元素。
我希望所有职位自动动态执行此操作。如果存在,则显示元素,如果不存在,则显示最后一个元素。
答案 0 :(得分:0)
忘记三元运算符,只使用空合并运算符即可:
<?= $cars[$index] ?? end($cars) ?>
这就是说,使用$ cars [$ index](如果可用),否则默认为end($ cars),这是数组中的最后一件事。
您可以使用三元运算符:
<?= $cars[$index] ? $cars[$index] : end($cars) ?>
或其快捷方式:
<?= $cars[$index] ?: end($cars) ?>
但是请注意,如果$ index元素不存在,这将生成E_NOTICE。为了避免通知,您需要类似以下内容的东西:
<?= isset($cars[$index]) ? $cars[$index] : end($cars) ?>