php 从数组中获取单个值


Php Get single value from array

我有一个变量,如回归分析中的$data= $regression->getCoefficients();。当我打印这个时,我得到了这个输出

Regression'Matrix Object ( [rows:protected] => 4 [columns:protected] => 1 [MainMatrix:protected] => Array ( [0] => Array ( [0] => -125 ) [1] => Array ( [0] => 9.8888888888869 ) [2] => Array ( [0] => 18.75 ) [3] => Array ( [0] => -1.1388888888905 ) ) )

但是我需要从数组中获取单个值,例如Array[0]=>-125-125

提前谢谢你

你应该研究回归''矩阵方法,正如Mark Baker在评论中建议的那样:应该有一些方法公开受保护的MainMatrix成员。

如果没有...看起来对象可以类型转换为(关联)数组,并且受保护成员的键前缀为 chr(0).'*'.chr(0)(请参阅此处@fardelian的评论)。它反对回归''矩阵设计,但你可以写一个"暴露器":

function getProtectedValue($obj,$name) {
  $array = (array)$obj;
  $prefix = chr(0).'*'.chr(0);
  return $array[$prefix.$name];
}

(你可以使用反射以不那么笨拙但更笨重的方式实现相同的目标。

现在,您可以访问所需的值,如下所示

$data = $regression->getCoefficients();
$MainMatrix = getProtectedValue($data,"MainMatrix");
echo $MainMatrix[0][0]; // -125