将循环数据存储在单独的变量中?

时间:2012-10-08 18:21:18

标签: php html wordpress variables foreach

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

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

所以这导致: <h1>Events</h1><h1>News</h1>

但是,我想将每个<h1>值存储在一个单独的变量中。

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

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

我该怎么做?

3 个答案:

答案 0 :(得分:6)

您想使用“变量变量”:

$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>'; 
}

答案 1 :(得分: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 :(得分:0)

你可以这样做:

$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++;
}