19

3行目のこのPHPコードでこのエラーが発生しています。何が問題になっている可能性がありますか?このコードは、interactinetdotcomのfrankによるphpマニュアルユーザーノートから取得されました。

<?php

public function myMethod()
{
return 'test';
}

public function myOtherMethod()
{
return null;
}

if($val = $this->myMethod())
{
 // $val might be 1 instead of the expected 'test'
}

if( ($val = $this->myMethod()) )
{
// now $val should be 'test'
}

// or to check for false
if( !($val = $this->myMethod()) )
{
// this will not run since $val = 'test' and equates to true
}

// this is an easy way to assign default value only if a value is not returned:

if( !($val = $this->myOtherMethod()) )
{
$val = 'default'
}

?> 
4

2 に答える 2

49

このpublicキーワードは、クラスメソッドを宣言する場合にのみ使用されます。

クラスではなく単純な関数を宣言しているので、コードから削除する必要がありpublicます。

于 2012-11-12T09:44:32.860 に答える
3

public、private、またはprotected関数を宣言するにはクラスを定義する必要があるため、関数からpublicキーワードを削除できます。

于 2012-11-12T10:03:25.123 に答える