PHP函数循环


PHP Loops to Functions

我理解用for循环遍历MySQL表和通过if语句提取数据(以及其他)。

但现在我正在努力更好地理解函数。因此,为了简单起见,作为我理解的参考点,这就是我习惯做的事情:

require 'get_member_email.php'//where $memberEmail is defined
$query = "SELECT * FROM TABLE WHERE SOMETHING='SOMETHING ELSE'";
$results = mysql_query($query);
foreach ($results as $data){
      if ($memberEmail == $data['member_email']{ 
             $id = $data['member_id'];
      }
}

我通常会将该脚本存储在一个文件中,然后用require调用我的网站(以及它上面的文件(其中定义了$memberEmail),然后通过调用这两个文件到我的网页

require 'get_member_email.php';// where $member email is defined
require 'get_memeber_id.php'; //where the code above is 
echo "<h1>Your member ID is: $id</h1>";

1) 我该如何编写这些函数2) 这样做有什么好处吗?(而不仅仅是保持我的requirefor循环)

1)好吧,你的问题是如何编写函数。

function loopFunction() {
    require 'get_member_email.php';
    $query = "SELECT * FROM TABLE WHERE SOMETHING='SOMETHING ELSE'";
    $results = mysql_query($query);
    foreach ($results as $data) {
        if ($memberEmail == $data['member_email']{ 
         $id = $data['member_id'];
        }
    }
}

通过这样做,你可以存储这个过程,并简单地通过调用它

loopFunction();

2) 是的,这样做有好处。既然你已经把它定义为一个函数,你就不必再创建这个过程了。你可以直接叫它。

当这个过程需要在其他情况下重复或重复使用时,这将使您受益。

您已经在数据库调用中获取了单个成员的所有数据。

require 'get_member_email.php'; // Define $memberEmail
// Select the member's data from the database
$query = "SELECT * FROM TABLE WHERE member_email = '".$memberEmail."'";
// Only need one member's data, so grab it.
$results = mysql_fetch_array($query);
$id = $results['id'];

注意:mysql查询在较新版本的PHP中会贬值;请改用mysqli调用。