在PHP中使用来自另一个文件的函数返回值
我在一个单独的文件中使用一个函数,GET应该返回一个数组,其中包含字段的枚举值:在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
<?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>';
}
?>