2011-10-03 67 views
-1

我試圖拿起在PHP OO中的要領,並遇到問題。當我回顯我的用戶名(位於用戶類下的find_all函數中)時,一切正常。但是,當我回顯full_name函數 - 它只是將first_name last_name屬性附加在一起時,它會回顯: scott mcphersonName: 當我明顯想要實現的是名稱:scott mcpherson。 下面就來看看我的代碼減去用戶等級:什麼導致反向PHP輸出?

<?php 
require_once("../includes/database.php"); 
require_once("../includes/user.php"); 

// Get the first user row 

$user = User::find_by_id(1); 
echo "Name: " . $user->full_name(); 

// Create new user instance to asign values to 

echo "<br />"; 

$users = User::find_all(); 
foreach($users as $user){ 
echo "User: " . $user->username . "<br /><br />"; 
echo "Name: " . $user->full_name() . "<br /><br />"; 
} 
?> 

,這裏是什麼是回送:

斯科特mcphersonName: 用戶:斯科特

斯科特mcphersonName:

什麼會導致$ user-> full_name()函數在「Name:」被回顯之前回顯?

回答

2

什麼會導致$ user-> full_name()函數在「Name:」被回顯之前被回顯?

函數應該是這樣的:

return $full_name; 

和NOT:

echo $full_name; 

這是我的猜測。

+0

這是正確的先生,謝謝。 – Scott

0

雖然你不覺得有必要實際向我們展示這個功能出於某種原因,但大概是在做echoprint本身;當操作數被評估爲「最外層」echo時,將發生此活動。

+0

供參考:當時我並不認爲這會影響反向輸出,但我想包括它在內。 – Scott

+0

@Scott:如果你知道是什麼原因造成的,你不會問這個問題。 :) –