ホームページ >バックエンド開発 >PHPチュートリアル >誰かこの単純なコードのどこが間違っているのかを教えてくれませんか?
private function getUserInfo(callable $Human) { try { $users = (new $Human)->getUser()['users']; $underageUsers = [foreach ($users as $user) if ($user->age < 18) yield $user]; list($userNames, $ages) = array_map( function($value) {return array_column($value, array('userNames', 'ages'), default);}, mb_convert_encoding($underageUsers, 'utf-8', 'gbk') ); return ['name' => $userNames, 'surname' => $ages]; } catch(Exception $e) { error_log($e); } }
callable とは何ですか?定義を教えてください!
callable は、プロンプトのプレースホルダーです。
パラメータが呼び出し可能なリソースであることを示します。
このコードは、PHP 5.5 の機能を多く備えています。
$underageUsers が配列である場合、mb_convert_encoding はパラメータとして配列を受け入れることができますか?