我在一个单独的文件中使用一个函数,得到的应该返回一个包含字段枚举值的数组:
<?php
function getEnumValues($table, $field) {
$enum_array = array();
$query = "SHOW COLUMNS FROM '{$table}' WHERE Field = '{$field}'";
$result = mysqli_query($query);
$row = mysqli_fetch_row($result);
preg_match_all('/\'(.*?)\'/', $row[1], $enum_array);
return $enum_array;
}
?>
在主文件中,我这样做:
<?php
require 'common.php';
for ($i=0; $i <= 5; $i++) {
getEnumValues(property, value_type);
echo "<input type='radio' name='tipo_valor' value='$enum_array[$i]' required>" . ' ' .$enum_array[$i] . '<br>';
}
?>
问题是该函数什么都不返回。
我需要的功能是否正常? 我可以使用另一个文件中返回的变量作为局部变量吗?
感谢您的时间和建议!
答案 0 :(得分:2)
该函数返回一个值;你只是没有抓住它。函数体中的$ enum_array仅存在于该函数的范围内。您需要将函数的返回值放在范围内的变量中。在您的主文件中:
<?php
require 'common.php';
for ($i=0; $i <= 5; $i++) {
$enum_array = getEnumValues(property, value_type);
echo "<input type='radio' name='tipo_valor' value='$enum_array[$i]' required>" . ' ' .$enum_array[$i] . '<br>';
}
?>