所以我需要在我的页面上打印出一堆预定义的全局变量。我尝试使用:
<?php foreach ( $GLOBALS as $key => $value ) { ?>
<dt><label for="<?php echo $key ?>">$key</label></dt>
<dd><input type="text" name="<?php echo $key ?>" value="<?php echo $value ?>" /></dd>
<?php } ?>
但是这不会打印全局变量,而只会打印一些错误。 我怎样才能正确获得该列表? 我希望你能理解我想要的东西。 谢谢!
答案 0 :(得分:1)
我完全避免使用foreach循环:
<?php print_r($GLOBALS); ?>
我不确定我需要在html中打印全局变量的实例,除了调试之外。
您可能会遇到全局变量递归问题,因此您可能会执行以下操作:
<?php
$myGlobals = array();
foreach($GLOBALS as $key => $value ) {
if ($key == 'GLOBALS') {
continue;
} else {
$myGlobals[$key] = $value;
}
}
foreach ($myGlobals as $key => $value ) { ?>
<dt><label for="<?php echo $key ?>">$key</label></dt>
<dd><input type="text" name="<?php echo $key ?>" value="<?php echo $value ?>" /></dd>
<?php } ?>
那应该跳过将嵌套的GLOBALS数组添加到数组中,以便在没有它的情况下打印所有其他键。
答案 1 :(得分:0)
//shows all used arrays in a page excluding post, get, files, session and
//GLOBALS arrays
function used_arrays() {
$ark=array_keys($GLOBALS);
$arr=array();
foreach ($ark as $key => $value) {
if($value!= '_GET' and $value!= '_POST' and $value!= '_COOKIE' and $value!= '_FILES' and $value!= 'GLOBALS' )
array_push($arr,$value);
}
$arr2=array();
foreach ($arr as $value) {
$arr2[$value]=$GLOBALS['GLOBALS'][$value];
}
echo 'used_arrays<pre>';print_r($arr2);echo '</pre>';
}
//calling
used_arrays();
答案 2 :(得分:-1)
修正了它。
<?php foreach ( $GLOBALS as $key => $value ) { ?>
<dt><label for="<?php echo $key ?>"><?php echo $key ?></label></dt>
<dd><input type="text" name="<?php echo $key ?>" value="<?php echo $value ?>" /></dd>
<?php } ?>