2012年3月20日

[PHP-users 35693] Re:関数の戻り値を変数に格納せずに配列アクセスしたい

変数代入の場合であればlist使う方法もあります。

function foo()
{
return array(10, 20);
}

list($n) = foo();

echo $n;
// 10

list(, $n) = foo();
echo $n;
// 20

list($n, ) = foo();
echo $;
// 10

関数から返る配列の先頭,末尾ならarray_shift,array_popも使えますね。

> On Tue, 20 Mar 2012 14:43:44 +0900
> Subject: [PHP-users 35690] 関数の戻り値を変数に格納せずに配列アクセスしたい
> kobayashi <kobayan.ml@xxxxx> wrote (In article):
> 小林と申します。
>
> 配列を返す関数からは以下のように値を取得することができますが、
>
> $a = foo();
> $n = $a[1]; // 20 を取得できる
>
> function foo()
> {
> return array(10, 20);
> }
>
>
> これを配列変数 $a を介さず、
> 以下のように1行で書く方法はありますでしょうか?
>
> $n = foo()[1]; // 構文エラーでした
> $n = (foo())[1]; // 構文エラーでした
> $n = $(foo())[1]; // 構文エラーでした
>
>
> C++ や Perl 等では (構文は違えど) 上記のようなことができますが、
> php でもそれができれば少しコーディングで楽ができるかな、
> という程度の興味です。
>
> --
> kobayashi <kobayan.ml@xxxxx>
> _______________________________________________
> PHP-users mailing list PHP-users@xxxxx
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2012年3月20日 18:45
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/109431
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。