皆さまこんにちは、本日はクラス関連でご質問です。
まずはコードを提示します。
<?php // Your code here! class Hoge { private $name; public function __construct($name) { $this->name = $name; } public static function getName() { return $this->name; } } $arr = [ 'りんご', 'コアラ', 'ラッパ', ]; $hoge = new Hoge('りんご'); $nam = $hoge::getName(); function getFruit($arr, $name) { foreach ($arr as $name) { if ($name == $name) { echo '一致します'; } } } $result = getFruit($arr, $nam);
やりたい事としては、リクエストで投げられる値[name]
を遷移先のHogeクラスプロパティ[name]
と比較し、一致した際に処理をさせたいです。
しかし現状のソースでは下記のエラーが出てしまい、値の取得が出来ませんでした。
PHP Fatal error: Uncaught Error: Using $this when not in object context Hoge.php line 7
アクセス権については、以下の認識はあります。
public......どこからでもアクセス可
protected・・・・・・そのクラスと、そのクラスを継承したクラス内からのみアクセス可
private・・・・・・そのメンバを定義したクラス内からのみアクセス可
なおgetNameメソッドをstaticとしているのは、静的な呼び出しの練習も兼ねて
あえてstaticとしています。
何卒有識者様方々のお力をどうかお貸しください。
宜しくお願い致しますm(_ _)m
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/29 06:41
2020/06/29 06:53
2020/06/29 07:13
2020/06/29 07:26
2020/06/29 22:23