配列を返す関数があるとします。
function return_me_an_array() {
return array('my_value');
}
どうすればそれを呼び出して、エレガントな方法で配列から単一の値 (最初、最後、またはのみ) を取得できますか (はい、これが PHP であることはわかっています!)
私がこれをしたら
$var = reset(return_me_an_array());
次の PHP の厳密なエラーが発生します。
厳密な警告: 変数のみを参照渡しする必要があります
同様に、これらはそれぞれ同じ警告を出します。
$var = array_shift(return_me_an_array());
$var = array_pop(return_me_an_array());
私はこれを行うことができることを知っています:
$temp = return_me_an_array();
$var = $reset($temp);
しかし、それを 2 つのステートメントにわたって行わなければならないのは、かなり恐ろしいことです。
これを行う良い方法はありますか?
一見すると、これはHow to return an array and get the first element of it in one line in PHP? に似ています。しかし、受け入れられた答えは使用していますreset
-だから、これは違うと思います; 厳密な警告を出さない解決策を探しているか、私が望んでいることは不可能だと言われます。
PHP 5.4 で配列の逆参照 (例: return_me_an_array()[0]
) が導入されたことも認識していますが、残念ながら現在 5.3 を使用しています。
閉鎖後に編集: これはどのようにローカライズされすぎているのですか? これはエレガントな PHP の書き方に関する一般的な質問です。それとも、エレガントな PHP を気にかけている人がほとんどいないため、「インターネットの世界中の視聴者には一般的に当てはまらない非常に狭い状況」なのでしょうか?