Psalm
Get started
Documentation
Paid support
Plugins
Blog
GitHub
<?php /** * @psalm-type _A=array{ * p1:int, * p2:string * } * * @psalm-type _B=array{ * p1:string, * p2:float * } */ class A { /** * @psalm-param _A $a * @return void */ public function e(array $a) { $jsonArr = json_decode($a['p2'], true); assert(is_array($jsonArr)); /** @var array $json */ foreach ($jsonArr as $json) { /** @psalm-var _B $json */ echo $json['p1'], $json['p2'], PHP_EOL; } } }
Snippet created on August 19 2020 at 11:29 UTC
Settings
Get link