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