【 PHP 】PHP8に入門してみた 170日目 PHPの基本 ( ユーザー定義関数 returnもできるジェネレータ)
PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。
ユーザー定義関数
ジェネレータでもreturnできる
ジェネレータの処理でreturn
を記述すると、最後の結果を返すことができます。
この場合の受け取り方はgetReturn()
という関数を(メソッド?)を使うためちょっと特殊です。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>こんにちは!</title>
<!-- Bootstrapを有効化 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>
<body>
<?php
function myGen()
{
yield 'あいうえお';
yield 'かきくけこ';
yield 'さしすせそ';
return "これがリターンよ!";
}
$gen = myGen();
foreach ($gen as $value) {
print $value . '<br />';
}
print "「{$gen->getReturn()}」という返答がありました。";
?>
</body>
</html>
メモ
もう少し使い勝手が良かったらなぁと思います。
おしい!
ちなみにyield
の処理が終わってないのにいきなりgetReturn()
するとエラーとなります。
ディスカッション
コメント一覧
まだ、コメントがありません