在 foreach 循环之外返回所有存储在 var 中的值

use*_*561 3 php arrays variables foreach loops

所以我假设某些东西被覆盖了,但我不确定如何停止它并检索循环外的所有值。有任何想法吗?

foreach($gallids as $gallterm)
{
    $postterms = wp_get_post_terms($gallterm, 'type', array("fields" => "slugs"));

    $checkmissing = $postterms[0];                  
    print_r($checkmissing); // Check Terms for missing images - works here.
}

print_r($checkmissing); // Check Terms for missing images - not working here 
                        // - seems to be getting last or first val only.
Run Code Online (Sandbox Code Playgroud)

hak*_*kre 5

首先初始化要稍后使用的变量:

$checkmissing = array();
Run Code Online (Sandbox Code Playgroud)

然后在里面foreach将 post 术语的第一个条目附加到该数组中:

foreach($gallids as $gallterm)
{
    list($checkmissing[]) = wp_get_post_terms($gallterm, 'type', array("fields" => "slugs"));
}
Run Code Online (Sandbox Code Playgroud)

$checkmissing[],这将有效地防止您覆盖它。它将每个附加到数组。

最后,您可以在循环后输出结果:

print_r($checkmissing);
Run Code Online (Sandbox Code Playgroud)

注意:如果wp_get_post_terms返回空数组,您应该做一些额外的处理:

foreach($gallids as $gallterm)
{
    $terms = wp_get_post_terms($gallterm, 'type', array("fields" => "slugs"))
        AND list($checkmissing[]) = $terms
    ;
}
Run Code Online (Sandbox Code Playgroud)