stdClass Object
(
[string] => Array
(
[0] => EXL
[1] => TEMPS
)
)
stdClass Object
(
[string] => IP
)
如何通过循环访问EXL,TEMPS和IP值?
答案 0 :(得分:1)
您必须将父数组作为Object访问,但子项是正常数组。
所以试试这个。
$array->string[0]; //get the EXL
示例:强>
$array = array(
"string" => array("EXL", "TEMPS"),
"string2" => array("EXL 2", "TEMPS 2"),
);
$obj_arr = (Object) $array;
echo "<pre>";
print_r($obj_arr);
echo "</pre>";
echo $obj_arr->string[0]."<br/>".$obj_arr->string[1];
输出
EXL
TEMPS
答案 1 :(得分:0)
在您的情况下,这是一个Class的实例,它为您提供了一个Object。
有两种常用方法可以在对象中定位数组:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: net.logicalsteps.download_notif, PID: 23132
java.lang.NullPointerException: Attempt to invoke virtual method 'void it.michelelacorte.elasticprogressbar.ElasticDownloadView.setVisibility(int)' on a null object referenc
at net.logicalsteps.download_notif.download.startdownload(download.java:41)
at net.logicalsteps.download_notif.MainActivity$1.onClick(MainActivity.java:39)
at android.view.View.performClick(View.java:5162)
at android.view.View$PerformClick.run(View.java:20873)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5835) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
或者您可以直接访问数组:
// Loop through each stored data
foreach($Object->string as $_string)
{
echo $_string;
}
PHP中的echo $Object->string[0];
是我们使用Objects的方式(map)。
两者都很好。
编辑:阅读评论
要在->
循环中访问对象中保存的数组:
for