PHP クラスを学習しているのですが、基本的な質問に遭遇しました。誰かに答えてください。

WBOY
リリース: 2016-06-13 12:00:43
オリジナル
793 人が閲覧しました

PHP クラスを学習しているのですが、基本的な問題が発生しました。誰かに答えてください。

この投稿は zxm_99 によって最終編集されました: 2014-06-23 23:16:05 コードは以下に示すとおりです。青の実行では 1 が表示され、赤では 6 が表示されます。必要なのは 6 を表示することです。 ;

bbb() の aaa() で $c を使用するにはどうすればよいですか?赤枠内の方法のみでしょうか? (めんどくさい)
赤枠のメソッドを使わないが、aaa()には$cなどの変数がたくさんあり、これらの変数をbbbで使う必要がある場合()、どうすればいいですか?
-----解決策---------------------------- -
あなたの bbb メソッド
$c = $c 1;
通知: 未定義変数: c 警告 ($c には、定義されていない場合の値があります)
E_NOTICE レベルのエラー メッセージをブロックしましたが、問題がないわけではありません。全体的な状況には影響しませんが、

class ceshi {<br />  public function aaa($a) {<br />    $this->c = $a;<br />    $r = $this->bbb();<br />    echo $r;<br />  }<br />  public function bbb() {<br />    $c = $this->c + 1;<br />    return $c;<br />  }<br />}<br />$xyz = new ceshi;<br />$xyz->aaa(5);
ログイン後にコピー

これにより 6 が出力されます


-----解決策----- -- -------------
<br /><br />//使用类的属性<br />class ceshi {<br />private $c;<br />  public function aaa($a) {<br />    $this->c = $a;<br />    echo $this->bbb();<br />  }<br />  public function bbb() {<br />    return $this->c + 1;<br />  }<br />}<br />$xyz = new ceshi;<br />$xyz->aaa(5);<br /><br /><br />
ログイン後にコピー

------解決策------------- - ------
クラス属性変数を使用するだけです。

private $c; はクラス内の任意の関数から呼び出すことができます。

<br />class ceshi{<br /><br />	private $c;<br /><br />	public function aaa($a){<br />		$this->c = $a;<br />		$k = $this->bbb();<br />		echo $k;<br />	}<br /><br />	public function bbb(){<br />		$this->c = $this->c + 1;<br />		return $this->c;<br />	}<br />}<br /><br />$xyz = new ceshi;<br />$xyz->aaa(5);<br />
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート