在PHP中使用来自另一个文件的函数返回值

在PHP中使用来自另一个文件的函数返回值,php,file,function,return,require,Php,File,Function,Return,Require,我在一个单独的文件中使用一个函数,GET应该返回一个数组,其中包含字段的枚举值: <?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); pre

我在一个单独的文件中使用一个函数,GET应该返回一个数组,其中包含字段的枚举值:

<?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;
}
?>

函数正在返回一个值;你只是没有抓住它。函数体中的$enum_数组仅存在于该函数的作用域中。您需要将函数的返回值放入范围中的变量中。在主文件中:

<?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>';
        }
?>

如果property和value\u type是循环中不变的参数,那么将函数调用移到for循环之上会比每次循环迭代时调用它更有效。如果$enum_数组在循环过程中保持不变,则重新运行该函数没有意义。
<?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>';
        }
?>