このクラスはエコーを返すように変更しても私に空白の出力を与えますが、問題の内容はわかりませんが、明らかにクラスとオブジェクトを扱うのに精通していません。私のクラスは最初の値だけを返すのはなぜですか?
私は変数/配列を間違って処理していますが、人が作成された場合にのみ返されるべきであるため、変数がClass
の下で宣言されるべきではないことがあります。 $args
で処理する必要があるため、関数内で変数を宣言するか、まったく宣言しないでください。
更新された質問: FIRSTNAMEだけでなく、すべての引数を返すにはどうすればよいですか?
PHP:
class people_handler
{
public $firstname;
public $middlename;
public $lastname;
public $city;
public $province_state;
/* zip+4 is default for postcode (postal code) */
public $postcode;
public $country;
function create_people($args)
{
$fullname=array($this->firstname,$this->middlename,$this->lastname);
$normname=array($this->firstname,$this->lastname);
$fulladdress=array($this->city,$this->province_state,$this->postcode,$this->country);
if(!$args->middlename&&$args->firstname && $args->lastname && $args->city && $args->province_state && $args->postcode && $args->country)
{
$temp_arr=array($normname,$fulladdress);
foreach($temp_arr as $value)
{
foreach($value as $values)
{
return $values;
}
}
}
else if($args->firstname && $args->middlename && $args->lastname && $args->city && $args->province_state && $args->postcode && $args->country)
{
$temp_arr=array($fullname,$fulladdress);
foreach($temp_arr as $value)
{
foreach($value as $values)
{
return $values;
}
}
}
else
{
die ("Must enter all values excluding middlename.");
}
}
}
$p1=new people_handler;
$p1->firstname="John";
$p1->middlename="Jonah";
$p1->lastname="Jameson";
$p1->city="Lansing";
$p1->province_state="Michigan";
$p1->postcode="48876-4444";
$p1->country="USA";
echo $p1->create_people($p1);
戻り値:
John
これは違いがないようです。 –
@mgraph:それは問題ではありません... –