2016-09-15 95 views
-4

下面是照片的例子來說明我的意思。什麼原因導致HTML根據PHP的放置方式而有所不同?

編輯:

echo ' 
    <input type="text" name="city" class="" placeholder="City" disabled="true"/> 
        '.displayStateSelect('state', null).' 
    <input type="text" name="zip" class="" placeholder="Zip" disabled="true" />'; 

OR

echo '<input type="text" name="city" class="" placeholder="City" disabled="true" />'; 

displayStateSelect('state', null); 

echo '<input type="text" name="zip" class="" placeholder="Zip" disabled="true" /> 
     </div> 

當echo語句中調用函數: Code - inline Photo - inline

打破它拆開:

Code - Broken Apart Photo - Broken Apart

- 難道這本質上是一樣的嗎?顯示順序改變的原因是什麼?它是否先執行函數響應,然後回顯其餘部分(如出現?)。

側面的問題,是不好的做法,以調用內聯回聲功能? = \

+1

請把代碼添加到這個問題,不只是農作物截圖,尤其是在你甚至不顯示的代碼全部行..另外,'displayStateSelect'是做什麼的?我會假設它返回一個值,在這種情況下不是,他們是絕不相同的。第一個連接返回到被定義的字符串,第二個連接...沒什麼:P。如果它是'echo displayStateSelect(...)',那將是另一回事。 –

+0

未圖示的代碼與問題完全無關。它顯示了我所要求的 - 函數調用的地方以及爲什麼它有所不同。它還顯示了結果代碼的屏幕截圖。我沒有看到相關性。很明顯,兩張照片的編碼方式都不盡相同。 – Imperialized

+0

@帝國化我不同意,請將您的代碼作爲文本發佈。 – cmorrissey

回答

1

你的功能displayStateSelect('state', null)實際上是通過一個echo或其他方法,而不是使用return這將允許您使用第一種方法<select>元素寫入到輸出緩衝區。

function displayStateSelect($state,$something){ 
    echo '<select><option>1</option><option>2</option></select>'; 
} 

VS

function displayStateSelect($state,$something){ 
    return '<select><option>1</option><option>2</option></select>'; 
} 
2

首先,你應該真的發佈你的代碼,而不是代碼的截圖。這些截圖讓你很難獲得問題的全部內容,並導致對答案的更多猜測。這就是說...

它正在顯示,因爲你插入一個函數,「回聲」或「打印」它的輸出內部回聲語句。您需要將函數調用內聯到displayStateSelect(),以便在您需要的時候生成它的內容,或者您​​需要輸入它的輸出而不是輸出它。

+0

這是所有人都必須說的。我知道了。我從那裏得到了這個想法。人們只需要學會尊重。請問。不要總是那麼粗魯。 – Imperialized

相關問題