объект — Php Получить одно значение из массива

Я хава переменная, как $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

Решение

Вы должны посмотреть на методы Regression \ Matrix, как предлагает Марк Бэйкер в комментарии: должен быть какой-то метод, выставляющий защищенный член MainMatrix.

И если их нет … похоже, объект может быть вставлен в (ассоциативный) массив, а защищенные члены имеют префикс с ключами chr(0).'*'.chr(0) (см. комментарий @ fardelian Вот). Это было бы скорее против дизайна Regression \ Matrix, но вы можете написать «разоблачитель»:

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
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]