【问题标题】:Undefined variable Output未定义的变量输出
【发布时间】:2013-12-23 15:53:05
【问题描述】:

我的 wordpress 主题在调试模式下出现以下错误。可能很容易解决,但我不知道该怎么做。

未定义变量:输出 .... 第 34 行($output 变量)

$categories = get_the_category();
if($categories) {
    foreach($categories as $category) {
        $output .= '<a href="'.get_category_link( $category->term_id ).'" class="btn-standard-blog" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>';
    }
}
echo $output;

【问题讨论】:

  • 如果$categoriesfalse 会发生什么?

标签: php


【解决方案1】:

$output 仅在满足IF 语句的条件时才存在。否则,您将尝试使用尚未定义的变量。在您的情况下尤其如此,因为循环的第一次迭代也尝试将值添加到不存在的值,因此此代码中将始终出现此错误。

你可以通过声明这个变量没有值,然后在适当的时候修改它来解决这个问题。

<?php 
$output = '';
$categories = get_the_category();
    if($categories) {
        foreach($categories as $category) {
            $output .= '<a href="'.get_category_link( $category->term_id ).'" class="btn-standard-blog" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $category->name ) ) . '">'.$category->cat_name.'</a>';
    }
}
echo $output; ?>

【讨论】:

  • 这么简单,愚蠢的错误...谢谢。时间到了我会接受的
  • @AlbaClan 一般来说,最好在使用变量之前对其进行初始化。 this question 中有关此主题的更多信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 2021-05-30
  • 1970-01-01
相关资源
最近更新 更多