2012-11-12 54 views
1

我有一個PHP代碼:如何在HTML代碼的特定位置打印?

<?php 
    if($condition) {myFunction();}; 
?> 
<html> 
    <head> 
    </head> 
<body> 
Some HTML code 
<?php 
    function myFunction() { 
    print "Print some new code"; 
    }; 
?> 
</body> 
</html> 

當myFunction的被調用時,新代碼的第一個HTML標籤之前打印出來。
如何更改該行爲並在「某些HTML代碼」之後打印。
謝謝!

+1

切換你的PHP段。 –

+0

調用它的部分位於頂部,而要調用的函數是您希望使用'if'語句的位置。 – Lucas

+0

嗨,夥計們!謝謝!但是如果我想從正在調用的代碼中打印頁面上的不同位置。那可能嗎? – GreenBear

回答

3

你必須調用你想打印的功能,而不是在那裏定義它。

<?php 
    function myFunction() { 
    print "Print some new code"; 
    }; 
?> 
<html> 
    <head> 
    </head> 
<body> 
Some HTML code 
<?php 
    if($condition) {myFunction();}; 
?> 
</body> 
</html> 

- 編輯 - 發表評論

檢查條件在這兩個地方,或分開你的邏輯和內容

<?php 
    function myFunction() { 
    return "Print some new code"; 
    } 
    $somecontent = ''; 
    $morecontent = ''; 
    if($condition) { 
     $somecontent = myFunction(); 
    } 
    else{ 
     $morecontent = 'some more content'; 
    } 
?> 
<html> 
    <head> 
    </head> 
<body> 
<?php 
    echo $morecontent; 
?> 
Some HTML code 
<?php 
    echo $somecontent; 
?> 
</body> 
</html> 
+0

嗨,穆薩!謝謝您的幫助。我理解你的意思,但是如果必須在一個地方檢查一個條件,並根據結果調用不同的功能,這些功能需要在不同的地方打印。比如說,在一個結果中,一個函數打印在頁面頂部,另一個結果是另一個函數打印在底部? – GreenBear

+0

@GreenBear查看更新 – Musa

+0

哦!謝謝你們,穆薩!這就是我的意思! – GreenBear

2

功能正在運行時,該語句返回true,所以它打印「打印一些新的代碼」;在那裏。

爲了獲得body標籤中的新代碼,在那裏有if語句。

同樣,如果您將函數移動到呈現的HTML之外(如下所示),那麼它會使標記與邏輯分離。

<?php 
function myFunction() { 
    print "Print some new code"; 
}; 
?> 
<html> 
    <head> 
    </head> 
    <body> 
    Some HTML code 
    <?php 
     if($condition) {myFunction();}; 
    ?> 
    </body> 
</html> 
1

你應該記住兩件事情與功能的工作。

1-定義它首先

<?php 
    function function_name() { 
     // do something 
    } 

2-叫它其次

function_name(); 

記住函數將返回無論它在那裏你會打電話給它,而不是在那裏你定義它。所以在你的情況中,當你顛倒了遊戲時,結果是顛倒的。

這裏是補救措施:

<?php 
    function myFunction() { 
    return "Print some new code"; 
}; 
?> 
<html> 
    <head> 
    </head> 
<body> 
Some HTML code 
<?php 

if ($condition) { 
    echo myFunction(); 
} 

</body> 
</html>