我正在尝试使用一个返回变量$ historicalData的php函数,这是一个对象数组。变量的var_dump是:
private String getPath(Uri uri) {
// just some safety built in
if( uri == null ) {
Toast.makeText(this, "Error problem with system", Toast.LENGTH_SHORT).show();
return null;
}
String path = "No-Path-Found";
// try to retrieve the image from the media store first
// this will only work for images selected from gallery
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(uri, projection, null, null, null);
if(cursor.moveToFirst()){
int column_index = cursor
.getColumnIndex(MediaStore.Images.Media.DATA);
path = cursor.getString(column_index);
}
cursor.close();
return path;
}
如何从此对象数组中提取数据。例如打印"日期" &安培; "靠近"
更新:我使用了以下代码: DIR。 ' /vendor/autoload.php' ;;
[0]=>
object(Scheb\YahooFinanceApi\Results\HistoricalData)#40 (7) {
["date":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
object(DateTime)#22 (3) {
["date"]=>
string(26) "2017-09-28 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
["open":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(153.889999)
["high":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(154.279999)
["low":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(152.699997)
["close":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(153.279999)
["adjClose":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(153.279999)
["volume":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
int(21958200)
}
[1]=>
object(Scheb\YahooFinanceApi\Results\HistoricalData)#20 (7) {
["date":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
object(DateTime)#30 (3) {
["date"]=>
string(26) "2017-09-29 00:00:00.000000"
["timezone_type"]=>
int(3)
["timezone"]=>
string(3) "UTC"
}
["open":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(153.210007)
["high":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(154.130005)
["low":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(152)
["close":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(154.119995)
["adjClose":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
float(154.119995)
["volume":"Scheb\YahooFinanceApi\Results\HistoricalData":private]=>
int(26299810)
}
}
并收到以下错误消息:
PHP致命错误:无法在第14行的stack.php中使用Scheb \ YahooFinanceApi \ Results \ HistoricalData类型的对象
答案 0 :(得分:0)
要调用PHP关联数组,您需要为所述数组定义一个变量。
例如;
$MyArray = array('name' => 'Levi','Date' => '10/1/2017','Day' => 'Sunday');
获取名称
echo $MyArray['name'];
或白天
echo $MyArray['Day'];
在您的情况下,您需要echo $MyArray[0]['date'];
和echo $MyArray[0]['close'];
答案 1 :(得分:0)
我从未弄清楚如何读取数组中的对象。但是,我发现这个code将递归地将数组内的对象转换为数组。我设法以这种方式提取数据。