Php 循环以获取用户数据

Php 循环以获取用户数据,php,codeigniter,Php,Codeigniter,我不能把真正的代码放在这里,因为它很长,很难理解 解释一下 数据库中有用户表,数据库中也有数据表 因此,为了获得用户数据,我将传递user_id作为参数。像这样: public function get_user_data($user_id) { } 但是。每个“请求”只能获取1个数据。(继续阅读) 但是,我想这有办法“绕过”这个,但我不知道。我在思考上有困难 正如我所说的,我想“绕过”这一点,并能够发送多个用户ID,我的实际功能不接受默认情况下,无法更改 提前谢谢 更换 foreach($

我不能把真正的代码放在这里,因为它很长,很难理解 解释一下

数据库中有用户表,数据库中也有数据

因此,为了获得用户数据,我将传递user_id作为参数。像这样:

public function get_user_data($user_id) {

}
但是。每个“请求”只能获取1个数据。(继续阅读)

但是,我想这有办法“绕过”这个,但我不知道。我在思考上有困难

正如我所说的,我想“绕过”这一点,并能够发送多个用户ID,我的实际功能不接受默认情况下,无法更改

提前谢谢

更换

foreach($getUsers->result_array() as $user)
{

$data =  $this->get_user_data($user->ID);

var_dump($data); // Only return 1 data;
}
对此

foreach($getUsers->result_array() as $user)
{
$data[] =  $this->get_user_data($user->ID);    
}
var_dump($data); 

如果您的目标是向函数发送更多数据,则始终需要对函数进行签名更改,如下所示:

 function get_user_data() {
      $args = func_get_args();    
      /** now you can access these as $args[0], $args[1] **/
 }

但我不确定您将如何处理返回的数据


编辑:是的,然后在函数中,您可以收集数组中的数据,并从函数返回数据数组

如果您可以将函数从
where
更改为
where\u in
我想您会得到一个简单的解决方案

public function get_user_data($user_ids)
{
     // your db code 
     $this->db->where_in('ID',$user_ids); //replace where with where_in
}


public function user_data() 
{
    $getUsers = $this->db->get('users');
    foreach($getUsers->result_array() as $user)
    {
        $user_ids[] =  $user->ID;
    } 
    $this->get_user_data($user_ids);
 }

你好我以前尝试过这样做,返回空数组。你的函数get\u user\u data()是否返回任何数据?基本上,我需要一种使用不同名称执行get\u user\u data()的方法。但是,想象一下一个拥有400个帐户的数据库,将会是……哦,天哪!Rakesh…使用上面的方法,返回空数据…不,只返回一个结果,这是我函数的一个限制,我无法更改。但我一直在想,是否有一种方法可以绕过这一点,正如我所说。你想要数据,而不调用user_data()方法中的get_user_data(),你是这么说的吗?提供你的数据库表结构。您需要使用join您的数据表是否有多个相同用户id的数据?尝试在foreach外部使用
var\u dump()
为什么不尝试
where\u in
function get_user_data(...$user_ids) {         
      /** now you can access these as $user_ids[0], $user_ids[1] **/
}
// Only higher version of PHP
public function get_user_data($user_ids)
{
     // your db code 
     $this->db->where_in('ID',$user_ids); //replace where with where_in
}


public function user_data() 
{
    $getUsers = $this->db->get('users');
    foreach($getUsers->result_array() as $user)
    {
        $user_ids[] =  $user->ID;
    } 
    $this->get_user_data($user_ids);
 }