2013-06-12 109 views
-3

我试图创建列表项,其中的信息来自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时。它只打印名称的第一个字母和电子邮件的第一个字母。

+1

你'return'。它不会超过一次迭代。 – Blender

+0

你在'foreach()返回' –

回答

0

我想你想要更多的东西一样:在`foreach`循环

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

当您返回它时结束该功能。如果你想要所有的用户,你需要在你的foreach循环之外返回这个数组。但是因为$ users已经是一个数组了,除了做爆炸之外,你甚至不需要foreach循环。

相关问题