返回带有迭代的for循环的结果

时间:2019-04-27 05:26:38

标签: php wordpress foreach return echo

好吧,我放弃了尝试在当前“全部”视图中从可怕的表单中获取字段,在那种情况下,我有一个字段(包含SCALE01,SCALE02等)可以完成操作,但是我没有用户以将其挂钩的形式。我最终放弃了。

所以在这里我有一些可行的方法,回声每次将答案吐出四次(可疑显示中有四个条目),就像这样:

<a href="file1">file1<a>
<a href="file2">file2<a>
<a href="file3">file3<a>
<a href="file4">file4<a>

(重复4次)

文件链接正确无误!

我需要将回声转换为返回值,以便在其中放置来自wordpress函数的简码时,返回值给我的是第一个,然后是第二个,然后是第三个,依此类推,位于页面顶部的正确位置。而且不是四次,只有一次:)

function scale_verification_certificate_func($atts) {
    $current_user = wp_get_current_user();
    $ffield = FrmProEntriesController::get_field_value_shortcode(array(
            'field_id' => 140, 
            'user_id' => 'current'));

    for ($i = 1; $i <= 10; $i++) {        
        foreach (glob("./clients/Sites/" . $ffield . "/SCALE0". $i . "/*SCALE_VERIFICATION_CERTIFICATE*", GLOB_NOSORT) as $filename) {
            echo "<a href='./.$filename.'>.$filename<img src='../document.png' /></a> <br>";
        }
    }
}
add_shortcode( 'scale-verification-certificate', 'scale_verification_certificate_func' );

任何帮助将不胜感激,对不起,如果我没有很好地写下我的问题,这是我的第一个问题:)

编辑:我知道为什么它现在要重复4次,因为它们是四个以该名称开头的文件夹,但是无论如何我还是希望得到其他帮助!

1 个答案:

答案 0 :(得分:0)

由于您已经弄清楚了4x的问题,为了使函数返回字符串,您可以只在每个循环中累加结果,最后返回一个字符串。像这样:

function scale_verification_certificate_func($atts) {
    $current_user = wp_get_current_user();
    $ffield = FrmProEntriesController::get_field_value_shortcode(array(
            'field_id' => 140,
            'user_id' => 'current'));

    $ret_string = "";  // initialize empty string
    for ($i = 1; $i <= 10; $i++) {
        foreach (glob("./clients/Sites/" . $ffield . "/SCALE0". $i . "/*SCALE_VERIFICATION_CERTIFICATE*", GLOB_NOSORT) as $filename) {
            // at each loop, append new segment
            $ret_string .= "<a href='./.$filename.'>.$filename<img src='../document.png' /></a> <br>";
        }
    }
    return $ret_string;  // now return the full string
}