反转功能打破了它

时间:2014-10-28 18:52:31

标签: php

我问了这个问题,我在帮助下很快得到了解决: Reverse the way of function output

然而,当我按照建议做的时候,它打破了javascript工作的方式。

如果我这样做

$output = '<a class="w-portfolio-item-anchor" href="javascript:void(0);" data-id="'.$post->ID.'">' . $output;

而不是:

$output .= '<a class="w-portfolio-item-anchor" href="javascript:void(0);" data-id="'.$post->ID.'">'

javascript停止工作。但是产出应该是逆转的。如何解决这个问题,但仍然有输出反转?

1 个答案:

答案 0 :(得分:0)

在你的例子中

$output = '<a class="w-portfolio-item-anchor" href="javascript:void(0);" data-id="'.$post->ID.'">' . $output;

会创建此$output

<a class="w-portfolio-item-anchor" href="javascript:void(0);" data-id="'.$post->ID.'"><div class="w-portfolio">
                        <div class="w-portfolio-h">
                            <div class="w-portfolio-list">
                                <div class="w-portfolio-list-h">

提示:在代码中使用var_dump($output)echo $ouput,以便了解 $ output 变量中存储的内容。与您当前的代码一样,您将拥有混乱的HTML结构。

修改

您正在第35行的循环外部初始化$output变量。我现在正在编写一些伪代码,代码应该如何工作:

    //line 34
    $output =   '<div class="w-portfolio"> 
                    <div class="w-portfolio-h">
                        <div class="w-portfolio-list">
                            <div class="w-portfolio-list-h">';

    foreach( $posts as $post ) {  // Note: This is the while loop in your example

        $output .= '<a href="javascript:void(0);" data-id="'.$post->ID.'">'; //notice the .= which appends the string to variable declared on line 35

    }
    $output .=              '</div>
                        </div>
                    </div>
                </div>';

    return $output;

不要在此处使用$output .= $output$output = 'bla bla' . $ouput。这会破坏您想用代码创建的HTML结构。请注意,您的$ output变量以$output = '<div class="w-portfolio">开头。


请在代码中第105行删除 . $output; </div>'. $output;

试试这个PasteOfCode