-1

私は、可能だと信じていることを行うのに少し苦労しています(確かではありませんが)。私が知っていることは、私がやろうとしていることは少し無意味であり、最善の方法ではないということです.

class myClass {
    public static function myData() {
        $data = [
            'index' => 'key'
        ];
    }
}

私がやろうとしているのは、key静的関数を介しての値を返すことです。var_dump()静的関数 ( myClass::myData();)の内部を( 経由で ) 表示しようとしましたが、 が表示されNULLます。

私はまだ PHP にかなり慣れていませんが、よりよく理解するために (かなり無意味なものであっても) 取り組むべきことを見つけようと努力してきました。出来ればこの形で完成させたいと思っています。私はこれに対する答えを約2時間探していたので、最初にこの問題を自分で修正しようと周りを見回しましたが、役に立ちませんでした.

さらに、これができない場合、このようなことを行う最善の方法は何ですか? 返信ありがとうございます!

編集:明らかに、関数の最後にデータを返さないのは少しばかげています。クラスが(経由で)ダンプさvar_dump()れると、関数の情報が返されますが、データを選択的に返すことはまだできません:

class myClass {
    public static function myData() {
        $data = [
            'index' => 'key',
            'index1' => 'key1'
        ];
    return $data;
    }
}

myClass::myData(); //here

情報がパブリック静的関数に含まれていることは知っていますが、どのように選択的に返すのでしょうkey1index1

皆さん、本当に助けていただきありがとうございます!

編集 2:皆様のご協力により、解決することができました。ここで使用している例は、明らかに私が使用しているコードではありません。セミコロンは単純な間違いであり、実際のコードにはありません。

最終製品は次のとおりです。

class myClass {
    public static function myData() {
        $d = [
            'index' => 'key',
            'index1' => 'key1'
        ];
    return $data;
    }
}

$data = myClass::myData();
print $data['index1']; // prints key1

繰り返しますが、助けてくれてありがとう!

4

2 に答える 2

0

あなたの関数は何も返さないので、試してください:

return $data;

関数はデータを返すことができますが、「関数内のデータ」には意味がありません。

于 2013-08-19T13:55:53.513 に答える