0

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

在我使用href之前,它工作得很好。

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

实现 href 后,我在此语句中得到一个未定义的索引:标题。

<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>
4

6 回答 6

2

您缺少 isset 检查使用以下内容:

<?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>
于 2013-02-28T09:01:49.443 回答
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>
于 2013-02-28T09:06:34.847 回答
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 }?>

注意:在其他情况下会$title有空值,所以 href 将是:restaurantoversigt?email=

于 2013-02-28T09:03:07.557 回答
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>
于 2013-02-28T09:06:36.563 回答
0

尝试

array_key_exists('title', $restaurant_result) ? $restaurant_result['title'] : '<span style="color:red">MISSING</span>'
于 2013-02-28T09:01:50.520 回答
0

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

于 2013-02-28T09:01:59.240 回答