Php从数组中获取单个值

时间:2014-12-27 11:35:21

标签: php object regression

我在回归分析中有一个像$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

等数组中获取单个值

提前谢谢

1 个答案:

答案 0 :(得分:0)

你应该看看Mark Ba​​ker在评论中建议的回归\矩阵方法:应该有一些方法暴露受保护的MainMatrix成员。

如果没有任何...看起来像对象可以被类型转换为(关联)数组,受保护成员的关键字前缀为chr(0).'*'.chr(0)(请参阅@ fardelian' s comment {{ 3}})。这将是反对回归\矩阵设计,但你可以写一个"曝光者":

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

(你可以使用here以更少的hacky,但更笨重的方式实现相同的目标。)

现在您可以访问所需的值

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