【问题标题】:Store looped data in separate variables?将循环数据存储在单独的变量中?
【发布时间】:2012-09-29 00:47:03
【问题描述】:

我目前在我的single.php 文件中使用以下内容来列出我的帖子所属的父类别和子类别:

foreach((get_the_category()) as $category) { 
    echo '<h1>'.$category->cat_name . '</h1>'; 
}

所以这会导致: &lt;h1&gt;Events&lt;/h1&gt;&lt;h1&gt;News&lt;/h1&gt;

但是,我想将每个 &lt;h1&gt; 值存储在一个单独的变量中。

所以我的最终代码可能是:

$i1 = "<h1>Events</h1>"; 
$i2 = "<h1>News</h1>";

我该怎么做?

【问题讨论】:

  • 数组将是一种更清洁、更简单、更快捷的方法。您有什么理由更喜欢使用可变变量吗?

标签: php html wordpress variables foreach


【解决方案1】:

您可以使用 array_map 将所有 cat_name 返回到数组...您也可以使用 list 将它们分隔为 2 个不同的变量

# List Of Name form array
$categories = array_map(function($category){ return "<h1>" . $category->cat_name . "</h1>";}, get_the_category());

# List Name to diffrent varraibles 
list($i1,$i2) = $categories ;

【讨论】:

    【解决方案2】:

    您想使用“变量变量”:

    $j = 1;
    foreach((get_the_category()) as $category) { 
        $i{$j} = '<h1>' . $category->cat_name . '</h1>';
        $j++;
    }
    

    不过,我只想使用一个数组:

    $i = array();
    foreach((get_the_category()) as $category) { 
        $i[] = '<h1>' . $category->cat_name . '</h1>'; 
    }
    

    【讨论】:

    • 太棒了——非常感谢!!我下午大部分时间都在做这个,看不出哪里出错了。这是我错过的大括号。我用正方形:'(Thank you!!!
    • 你不想使用可变变量!它们来自地狱,以后会导致很多问题,因为它们是在运行时生成和解释的代码,这真的很难调试。始终使用数组!
    【解决方案3】:

    你可以这样做:

    $n = 0;
    foreach((get_the_category()) as $category) { 
        $i{$n} = '<h1>'.$category->cat_name . '</h1>'; 
        $n++;
    }
    

    Take a look at this manual。虽然这很奇怪,并且可能会使您的代码混乱(我不建议这样做。为什么不使用数组来代替?

    $categories = array();
    $n = 0;
    foreach((get_the_category()) as $category) { 
        $categories[$n] = '<h1>'.$category->cat_name . '</h1>';
        $n++;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      相关资源
      最近更新 更多