Php Foreach内部函数 函数dp(){ $this->load->library('heart'); $times=35; $i=0;而($iheart->test(); //10最新 $query=$this->db->get('test',10,20); //从查询中设置变量 foreach($query->result()作为$getrow) { $data1=$getrow->data1; $data2=$getrow->data2; } //对于每个数据1;do go(); foreach($data1作为$id){ $this->heart->go($id,$data2); } //增量$i $i++; } }
嘿,伙计们,这是我的代码。我试图从数据库中获取最新的条目,然后将它们设置为变量。对于每个变量,我试图调用一个函数来传递$id(data1)和$data2。data2会被传递吗?还是我需要做一些类似$data1作为$id&$data2作为$id2的事情。我需要传递$data1和$data2作为go()每次都不一样 这里的问题是,每当我尝试运行代码时,总是会收到“为foreach()提供的参数无效”。有人知道这里的问题是什么吗Php Foreach内部函数 函数dp(){ $this->load->library('heart'); $times=35; $i=0;而($iheart->test(); //10最新 $query=$this->db->get('test',10,20); //从查询中设置变量 foreach($query->result()作为$getrow) { $data1=$getrow->data1; $data2=$getrow->data2; } //对于每个数据1;do go(); foreach($data1作为$id){ $this->heart->go($id,$data2); } //增量$i $i++; } },php,codeigniter,Php,Codeigniter,嘿,伙计们,这是我的代码。我试图从数据库中获取最新的条目,然后将它们设置为变量。对于每个变量,我试图调用一个函数来传递$id(data1)和$data2。data2会被传递吗?还是我需要做一些类似$data1作为$id&$data2作为$id2的事情。我需要传递$data1和$data2作为go()每次都不一样 这里的问题是,每当我尝试运行代码时,总是会收到“为foreach()提供的参数无效”。有人知道这里的问题是什么吗 提前谢谢。我相信您确实想要创建$data1和$data2的数组 当前,每
提前谢谢。我相信您确实想要创建
$data1
和$data2
的数组
当前,每次通过第一个foreach循环都会覆盖这些变量中的值
function dp(){
$this->load->library('heart');
$times = 35;
$i = 0; while ($i<$times){
$this->heart->test();
//10 newest
$query = $this->db->get('test', 10, 20);
//set variables from query
foreach ($query->result() as $getrow)
{
$data1 = $getrow->data1;
$data2 = $getrow->data2;
}
//for each data1; do go();
foreach ($data1 as $id){
$this->heart->go($id,$data2);
}
//increment $i
$i++;
}
}
或者,您可以使用data1和data2作为数组的键/值对
$data1 = array();
$data2 = array();
//set variables from query
foreach ($query->result() as $getrow)
{
$data1[] = $getrow->data1;
$data2[] = $getrow->data2;
}
//for each data1; do go();
foreach ($data1 as $key => $id){
$this->heart->go($id,$data2[$key]);
}
您可以使用单个foreach循环完成所有操作,而无需构建不必要的数据数组:
$data = array();
foreach ($query->result() as $getrow)
{
$data[$getrow->data1] = $getrow->data2;
}
//for each data1; do go();
foreach ($data as $key => $value){
$this->heart->go($key, $value);
}
foreach($query->result() as $getrow) {
$this->heart->go($getrow->data1, $getrow->data2);
}