我正在尝试创建列表项,其中信息来自php,它从保存在同一目录中的.txt中获取信息。我有一些带有布局的HTML和一些带有我使用的函数的php文件。
这是html:所以我从php中获取变量。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>Folks On Your Mailing List</h1>
<?php
if($register_users){
foreach ($register_users as $user) {
list($name,$email) = $user;
echo "<li> $name :<a href='mailto:$email'>$email</a></li>";
}
} else{
echo "No register menbers";
}
?>
</body>
</html>
这是php我包含的模板和我将使用的功能。
<?php
include "../functions.php";
$register_users = get_registered_users();
include "registered_user.tmpl.php";
?>
最后但并非最不重要的功能
function get_registered_users($path = MAILING_LIST){
$users = file($path);
foreach ($users as $user) {
$name = explode(": ", $user);
return $name ;
}
$ path是在同一个文档中定义的常量但是没关系 - 这不是问题。返回$ name并将其分配给$ registers_users时会出现问题,这些寄存器将传递给模板。它只打印姓名的第一个字母和电子邮件的第一个字母。
答案 0 :(得分:1)
当你返回时它结束了这个功能。如果你想要所有用户,你需要在foreach循环之外返回该数组。但由于$ users已经是一个数组,除了做爆炸之外,你甚至不需要foreach循环。
答案 1 :(得分:0)
我想你想要更像的东西:
function get_registered_users($path = MAILING_LIST) {
$users = file($path, FILE_IGNORE_NEW_LINES);
$output = array(); //Create an array to hold the array($parts)
foreach ($users as $user) {
$parts = explode(": ", $user);
$output[] = $parts; //Add the $parts to the bigger array
}
return $output;
}