我试图通过索引访问数组,但我需要从查询字符串中获取此数据。
我试过了:
$var = $_GET['id'];
echo $xml->subway->line[$var]->name;
这不起作用。但这样做:
echo $xml->subway->line[0]->name;
答案 0 :(得分:0)
试试这个:
$var = isset($_GET['id']) ? (int)$_GET['id'] : false;
if ($var !== false && isset($xml->subway->line[$var]) {
echo $xml->subway->line[$var]->name;
} else {
echo 'Your problem is either "id" not being in $_GET or $xml object does not have line with that index';
var_dump($_GET); //see what is 'id'
}
每当你通过索引从数组中获取项目时,你应该首先检查它是否设置以避免这样的错误。
答案 1 :(得分:0)
您的$_GET
变量可能会以string
而不是integer
的形式返回,因此PHP会假设索引不存在。尝试将其类型转换为
$var = (int)$_GET['id'];
强制PHP将$_GET
视为integer