php,foreach中的foreach
在这段代码中,有两个foreach。当我单独使用时,它工作得很好。但是,这两种方法并不协同工作。我为这个问题挣扎了两天php,foreach中的foreach,php,foreach,Php,Foreach,在这段代码中,有两个foreach。当我单独使用时,它工作得很好。但是,这两种方法并不协同工作。我为这个问题挣扎了两天 $urls = nl2br($this->input->post('urls')); $result = explode("<br />", $urls); $n = 0; foreach($result as $row) { $n++; $Google_Play_URL = $row; $string = file_get_co
$urls = nl2br($this->input->post('urls'));
$result = explode("<br />", $urls);
$n = 0;
foreach($result as $row)
{
$n++;
$Google_Play_URL = $row;
$string = file_get_contents($Google_Play_URL);
$dom = new DOMDocument();
@$dom->loadHTML($string);
$anchors = $dom->getElementsByTagName('a');
$i = 0;
foreach ($anchors as $anchor)
{
$i++;
if ($anchor->nodeValue === 'Email Developer') {
$email = str_replace('mailto:', '', $anchor->getAttribute('href'));
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo $email;
$id = $this->session->userdata(SESSION_USERID);
$country = 'US';
$type = 'android';
$query = 'SELECT idx FROM db_advertisers WHERE email = "'.$email.'"';
$result = $this->db->query($query);
if($result->num_rows() < 1)
{
$query = 'INSERT INTO db_advertisers (email, type, url, country, submit_user) VALUES ("'.$email.'", "'.$type.'", "'.$Google_Play_URL.'", "'.$country.'", "'.$id.'")';
$this->db->query($query);
}
}
}
}
$url=nl2br($this->input->post('url');
$result=explode(“
,$url”);
$n=0;
foreach($结果为$行)
{
$n++;
$Google\u Play\u URL=$row;
$string=file\u get\u contents($Google\u Play\u URL);
$dom=新的DOMDocument();
@$dom->loadHTML($string);
$archors=$dom->getElementsByTagName('a');
$i=0;
foreach($anchors作为$anchor)
{
$i++;
如果($anchor->nodeValue==='Email Developer'){
$email=str_replace('mailto:','',$anchor->getAttribute('href');
if(过滤变量($email,过滤验证电子邮件)){
echo$电子邮件;
$id=$this->session->userdata(session\u USERID);
$country='US';
$type='android';
$query='从db_广告商中选择idx,其中email=“”.$email.”;
$result=$this->db->query($query);
如果($result->num_rows()<1)
{
$query='插入db_广告商(电子邮件、类型、url、国家/地区、提交用户)值(“.$email.”、“.$type.”、“.$Google_Play_url.”、“.$country.”、“$id.”);
$this->db->query($query);
}
}
}
}
}
当我发送多个值时,这段代码只保存一个数据。它假定要保存多个数据。您看到问题了吗?唯一明显的问题是,在内部foreach循环中,您正在设置
$result = $this->db->query($query);
这与外部foreach循环中的变量相同
foreach($result as $row)
更改一个变量名应该可以解决这个问题。唯一明显的问题是,在内部foreach循环中,您正在设置
$result = $this->db->query($query);
这与外部foreach循环中的变量相同
foreach($result as $row)
更改一个变量名应该可以解决这个问题。您在循环中重置$result,方法是将它用于新的查询result@MarkBaker我已将其更改为$result->$result\u data,但它仍然只保存第一个数据。您正在循环中重置$result,方法是将其用于新查询result@MarkBaker我更改了$result->$result\u数据,但是它仍然只保存第一个数据。它仍然只保存一个数据。它仍然只保存一个数据。