回显结果以显示每个值的所有值

时间:2011-03-22 09:46:49

标签: php mysql foreach

我有一个内部联接的工作MySql选择:

      $estateSettings = getEstateOptionsArray();
        foreach($estateSettings as $s) {
            $i  = url_title($s, "", true);
            $data = $wpdb->get_col("
                SELECT meta.meta_value 
                FROM $wpdb->postmeta meta
                INNER JOIN wp_posts ON meta.post_id = wp_posts.id
                WHERE meta.meta_key = '{$i}' AND wp_posts.post_type = 'estate'
            ");
            $returnData = $s." : ";
            foreach($data as $v) { 
                $returnData .= $v.", ";


        }



        }

没关系,$ v包含值,但问题是如果我只是echo它只显示最后的结果值。如果我echo它是这样的:

echo $returnData .= $v.", ";

显示名称和所有结果值。

如何在没有returnData的情况下echo结果并显示所有值?

我又被卡住了。我设法只得到了值,但它重复了它们

 $ingatlanSettings = getIngatlanOptionsArray();
            foreach($ingatlanSettings as $s) {
                $i  = url_title($s, "", true);
                $data = $wpdb->get_col("
                    SELECT meta.meta_value 
                    FROM $wpdb->postmeta meta
                    INNER JOIN wp_posts ON meta.post_id = wp_posts.id
                    WHERE meta.meta_key = '{$i}' AND wp_posts.post_type = 'ingatlan'
                ");
                $returnData = $s." : ";
                foreach($data as $v) { 
                    $returnData .= $v.", ";
                    $result[] = $v; 

            }

            $res = $element.implode($result);
            echo $res;

            } 

5 个答案:

答案 0 :(得分:1)

$returnData .= $s." : ";
foreach($data as $key=>$value) { 
                    $returnData .= $value.", ";
}

答案 1 :(得分:1)

    echo $returnData.implode(',', $data);

使用此代替循环。

答案 2 :(得分:0)

查看数组包含的内容的一个好方法是这个简单的脚本:

<?php
    echo "<pre>"; print_r($YourArray); echo "</pre>";
?>

了解阵列中的实际内容可以帮助解决很多问题。

答案 3 :(得分:0)

  

它的确定和所有,$ v包含   值,但问题是如果是   简单地回应它它只显示了   最后的结果值,如果我回应它   这个echo $ returnData。= $ v。“,”;它   显示名称和所有结果值。

这是你失去我的地方。当你回显结果时,你是这样做的:

echo $returnData .= $v.", ";

或者你在回应:

echo $returnData;

执行后者将返回您使用所有值准备的完整字符串。

但是,我试图了解你问题的本质。您是否尝试以特定方式格式化$returnData,然后返回原始数据?

答案 4 :(得分:0)

谢谢大家的帮助,我能够做到ot

$returnData = $s." : ";
                $resdata = array_unique($data);
                foreach($resdata as $v) { 
                    $returnData .= $v.", ";
                    echo $result[] = $v;

非常感谢大家