是否可以在一行中调用返回array()并直接获取此数组的值的方法呢?

例如,代替:

$response = $var->getResponse()->getResponseInfo();
$http_code = $response['http_code'];
echo $http_code;


做这样的事情:

echo $var->getResponse()->getResponseInfo()['http_code'];


此示例不起作用,我收到语法错误。

最佳答案

您可以做的是将直接传递给您的函数。您的函数应该是这样的:如果将变量名传递给它,则它应该是该变量的值,否则应是包含所有变量值的数组。

您可以按照以下方式进行操作:

<?php
// pass your variable to the function getResponseInfo, for which you want the value.
echo $var->getResponse()->getResponseInfo('http_code');
?>


您的功能:

<?php
// by default, it returns an array of all variables. If a variable name is passed, it returns just that value.
function getResponseInfo( $var=null ) {
   // create your array as usual. let's assume it's $result
   /*
       $result = array( 'http_code'=>200,'http_status'=>'ok','content_length'=>1589 );
   */

   if( isset( $var ) && array_key_exists( $var, $result ) ) {
      return $result[ $var ];
   } else {
      return $result;
   }
}
?>


希望能帮助到你。

关于php - 直接显示方法返回的数组的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10190174/

10-13 08:56