[PHP] 関数から複数の値を返す。複数の変数で一度に受け取る(タプル代入)
PHPの関数は
最後になりますが本ブログでは、PHP、フロントエンド、Python、インフラ、サーバー、Swift、Node.js、Java、Linux、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!
array()
を用いて複数の値を返却できます。またそれらの値をlist()
を用いて、複数の変数へ一気に代入できます。今日はその実装方法をブログに書きたいと思います。目次
関数で、複数の値を返す
PHPの関数で複数の値を返したい場合、array()
を用いて複数の値を返却できます。function getPerson() { $name = 'Yohei'; $age = 33; return array($name, $age); } $person = getPerson(); echo $person; // [ 'Yohei', 33 ]配列に複数の値を入れて返す、というのはシンプルで分かりやすいですね。
list()を用いて、複数の変数に一括代入する
PHPでは、list()
を用いて、複数の値を複数の変数に一度に代入できます。list($name, $age) = array('Yohei', 33); echo $name; //'Yohei' echo $age; //33また、PHP7.1以降では配列記述で受け取ることもできます。
[ $name, $age ] = array('Yohei', 33); echo $name; //'Yohei' echo $age; //33なお他の言語では、この機能をタプル展開やタプル代入と呼ぶ場合があります。
関数で複数の値を返却して、list()で複数変数に一括代入する
上記2点を組み合わせると、関数からの複数の戻り値を、複数の変数に一度で代入できます。// 配列で複数の値を返却する. function getPerson() { $name = 'Yohei'; $age = 33; return array($name, $age); } // list() で一気に受け取る. list($name, $age) = getPerson(); echo $name; //'Yohei' echo $age; //33関数からの戻り値を複数で扱えるようになると、実装幅がグッと拡がります。
最後に
今回の内容は実装幅が広がりますし、コードもシンプルになるので、知っていて損はないと思います。少しずつPHPでの開発ノウハウも貯めていきたいなと思っています。最後になりますが本ブログでは、PHP、フロントエンド、Python、インフラ、サーバー、Swift、Node.js、Java、Linux、機械学習、などの技術トピックを発信をしていきます。「プログラミングで困ったその時の、解決の糸口に!」そんな目標でブログを書き続けています。ぜひ、本ブログのRSSやTwitterをフォローして貰えたら嬉しいです ^ ^
最後までご覧頂きましてありがとうございました!