我如何修复未定义的索引:标题

时间:2013-02-28 08:58:23

标签: php html arrays

如何修复未定义的索引:标题。 为什么这很开心?我已经尝试定义索引标题,但它不起作用

在我使用href之前,它完美无缺。

 <td><?= isset($restaurant_result['title']) ? $restaurant_result['title'] : '<span style="color:red">MANGLER</span>'; ?></td>

实现href之后,我在这个语句中得到一个未定义的索引:title。

<td><a href="restaurantoversigt?email=<?php echo $restaurant_result['title']?>"> <?= isset($restaurant_result['title']) ? $restaurant_result['title'] : '<span style="color:red">MISSING</span>'; ?></a></td>

6 个答案:

答案 0 :(得分:2)

您缺少isset check使用以下内容:

<?php $title = isset($restaurant_result['title']) ? $restaurant_result['title'] : ""; ?>

<td><a href="restaurantoversigt?email=<?php echo $title ?>"> <?= $title != "" ? $title : '<span style="color:red">MISSING</span>'; ?></a></td>

答案 1 :(得分:1)

试试这个:

<?php 
  $title = isset($restaurant_result['title'])?$restaurant_result['title'] :"";
?>
<?php if($title){ ?>
<td><a href="restaurantoversigt?email=<?php echo $title;?>"> <?= $title ?></a></td>
<?php } else {?>
<td><a href="restaurantoversigt?email=<?php echo $title;?>"> <span style="color:red">MISSING</span></a></td>
<?php }?>

注意:在else条件下,$title为空,因此href将为:restaurantoversigt?email=

答案 2 :(得分:1)

    <?php 
    $title = null;
    if (isset($restaurant_result['title']))
      $title = $restaurant_result['title'];
    ?>

    <td><a href="restaurantoversigt?email=<?php echo $title; ?>"> <?= $title !== null ?  $title : '<span style="color:red">MISSING</span>'; ?></a></td>

答案 3 :(得分:0)

array_key_exists('title', $restaurant_result) ? $restaurant_result['title'] : '<span style="color:red">MISSING</span>'

答案 4 :(得分:0)

$restaurant_result['title']未定义。您之前没有收到错误,因为您在尝试使用isset之前检查了它是否未定义。

答案 5 :(得分:0)

试试这个:

<td><a href="restaurantoversigt?email=<?php echo $restaurant_result['title']?>"> <?php echo isset($restaurant_result['title']) ? $restaurant_result['title'] : '<span style="color:red">MISSING</span>'; ?></a></td>