尝试获取基于Web的SONOS php-controller(请参阅git source)以便同时学习PHP。正如所料,我从一开始就遇到了麻烦。
函数detect()
创建一个包含对象的数组。
$var = SonosPHPController::detect();
var_dump ($var);
array(3) {
[0]=> object(SonosPHPController)#3 (4) { ["Sonos_IP":protected]=> NULL ["_raw":protected]=> array(0) { } ["IP"]=> string(13) "192.168.1.137" ["PORT"]=> int(1400) }
[1]=> object(SonosPHPController)#7 (4) { ["Sonos_IP":protected]=> NULL ["_raw":protected]=> array(0) { } ["IP"]=> string(13) "192.168.1.134" ["PORT"]=> int(1400) }
[2]=> object(SonosPHPController)#6 (4) { ["Sonos_IP":protected]=> NULL ["_raw":protected]=> array(0) { } ["IP"]=> string(13) "192.168.1.232" ["PORT"]=> int(1400) }
}
如何将其转换为有用的内容,例如将每个IP分配给常量,以便在其他函数中使用它们?
答案 0 :(得分:0)
您可以执行类似
的操作$ipArray = array();
foreach($var as $item) {
$ipArray[] = $item->IP;
}
var_dump($ipArray);
输出
array(3) {
[0] => string(13) "192.168.1.137"
[1] => string(13) "192.168.1.134"
[2] => string(13) "192.168.1.232"
}
或者你可以这样做
$firstSonosController = $var[0];
$secondSonosController = $var[1];
$thirdSonosController = $var[2];
然后你可以玩它
echo $firstSonosController->IP; // outputs 192.168.1.137
echo $secondSonosController->PORT; // outputs 1400
...