function VARIANT_ArrAy($process){
$row = array();
foreach($process->Properties_ AS $key => $val){
if(is_object($val->value)){
$tval = array();
if(count($val->value)>0){
foreach($val->value AS $k => $v){
$tval[$k] = $v;
}
$kval =implode(',', $tval);
}else{
$kval = null;
}
$kname = $val->name;
}else{
$kname = $val->name;
$kval = $val->value;
}
$row[$kname] = $kval;
}
return $row;
}
複制
首先我們先聲明一個VARIANT類型轉Array數組的函數. 這函數已經做了完全的相容.
$wmi = new COM('winmgmts://');
$queryList = $wmi->ExecQuery("SELECT * FROM Win32_OperatingSystem");
foreach($queryList as $key => $process){ // $process 預設就是VARIANT(泛型)
$arr = VARIANT_ArrAy($process);
print_r($arr); // 詳細值.
exit();
}
複制
簡單地查詢示例.
你可以用var_dump函數列印一下, 可以很清楚看到類型. 但不能看到更多的具體.
假如你需要自行研究, 搞懂一切.
那你可以尋找"com_print_typeinfo" 函數的相關資訊.
END