Php урок 10. Использование цикла foreach

Использование цикла foreach:

Конструкция foreach предоставляет простой способ перебора массивов. foreach работает только с массивами и объектами, и будет генерировать ошибку при попытке использования с переменными других типов или неинициализированными переменными. Существует два вида синтаксиса:

  1. foreach (array_expression as $value) statement
  2. foreach (array_expression as $key => $value) statement

Первый цикл перебирает массив, задаваемый с помощью array_expression. На каждой итерации значение текущего элемента присваивается переменной $value и внутренний указатель массива увеличивается на единицу (таким образом, на следующей итерации цикла работа будет происходить со следующим элементом).

Второй цикл будет дополнительно соотносить ключ текущего элемента с переменной $key на каждой итерации.

Примеры работы с циклом:

  1. <?
  2. $names = ["Александр", "Алексей", "Артур", "Кирилл"];
  3. $names_with_keys = ["Александр" =>"HTML Верстальщик", "Алексей" => "Программист", "Константин" => "Дизайнер", "Кирилл" => "SEO Специалист"];
  4. foreach ($names as $name) {
  5. echo $name."<br>";
  6. }
  7. echo "<hr>";
  8. foreach ($names_with_keys as $name => $who) {
  9. echo $name." - ".$who."<br>";
  10. }
  11. ?>
<?
$names = ["Александр", "Алексей", "Артур", "Кирилл"];
$names_with_keys = ["Александр" =>"HTML Верстальщик", "Алексей" => "Программист", "Константин" => "Дизайнер", "Кирилл" => "SEO Специалист"];
foreach ($names as $name) {
  echo $name."<br>";
}
echo "<hr>";
foreach ($names_with_keys as $name => $who) {
  echo $name." - ".$who."<br>";
}
?>

 

 

Простой поисковик

  1. <?
  2. /*$str=file_get_contents("https://yandex.kz/search/?lr=164&msid=1482499324.38647.22901.11213&text=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0");
  3. echo $str;
  4. $text=explode(">",$str);
  5. foreach($text as $domain)
  6. {
  7. $d1=explode("<",$domain);
  8. if(strpos($d1[0],".kz")>0)
  9. {
  10. if(filter_var("http://".$d1[0], FILTER_VALIDATE_URL))
  11. echo $d1[0]."<br>";
  12. }
  13. }*/
  14. $url="https://www.google.com/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1024&bih=667&q=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0&oq=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0&gs_l=img.3..0l10.3851.7313.0.7490.17.11.3.2.2.0.187.1093.7j3.10.0....0...1ac.1.64.img..2.15.1115.MosgDsalpas";
  15. $agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
  16. $ch = curl_init();
  17. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  18. curl_setopt($ch, CURLOPT_VERBOSE, true);
  19. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  20. curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  21. curl_setopt($ch, CURLOPT_URL,$url);
  22. $result=curl_exec($ch);
  23. //echo $result;
  24. ?>
<?
/*$str=file_get_contents("https://yandex.kz/search/?lr=164&msid=1482499324.38647.22901.11213&text=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0");
echo $str;
$text=explode(">",$str); 
foreach($text as $domain)
{
  $d1=explode("<",$domain); 
  if(strpos($d1[0],".kz")>0)
  {
    if(filter_var("http://".$d1[0], FILTER_VALIDATE_URL))
      echo $d1[0]."<br>";
  }
}*/
$url="https://www.google.com/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1024&bih=667&q=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0&oq=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0&gs_l=img.3..0l10.3851.7313.0.7490.17.11.3.2.2.0.187.1093.7j3.10.0....0...1ac.1.64.img..2.15.1115.MosgDsalpas";
$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
//echo $result;
?>
  1. <?
  2. /*$str=file_get_contents("https://yandex.kz/search/?lr=164&msid=1482499324.38647.22901.11213&text=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0");
  3. echo $str;
  4. $text=explode(">",$str);
  5. foreach($text as $domain)
  6. {
  7. $d1=explode("<",$domain);
  8. if(strpos($d1[0],".kz")>0)
  9. {
  10. if(filter_var("http://".$d1[0], FILTER_VALIDATE_URL))
  11. echo $d1[0]."<br>";
  12. }
  13. }*/
  14. mysql_connect("localhost","root","");
  15. mysql_select_db("google");
  16. $t=mysql_query("select * from domain where status=0 limit 1");
  17. $r=mysql_fetch_array($t);
  18. $start=rand(0,5)*20;
  19. if(isset($r['domain']))
  20. {
  21. $url=$r['domain'];
  22. mysql_query("update domain set status=1 where status=0 limit 1");
  23. }
  24. else
  25. $url="https://www.google.com/search?q=одежда&hl=en&biw=1024&bih=667&site=imghp&tbm=isch&ei=LTNdWIbzIYysswHGqZtI&start={$start}&sa=N";
  26. $agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
  27. echo "Обрабатываем домен: ".$url;
  28. echo "<hr>";
  29. $ch = curl_init();
  30. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  31. curl_setopt($ch, CURLOPT_VERBOSE, true);
  32. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  33. curl_setopt($ch, CURLOPT_USERAGENT, $agent);
  34. curl_setopt($ch, CURLOPT_URL,$url);
  35. $result=curl_exec($ch);
  36. $title=explode("</title>",explode("<title>",$result)[1])[0];
  37. echo "<h1>".$title."</h1>";
  38. $text=explode(">",$result);
  39. foreach($text as $domain)
  40. {
  41. $d1=explode("<",$domain);
  42. if(strpos($d1[0],"@")>0)continue;
  43. if(strpos($d1[0],".kz")>0 or strpos($d1[0],".ru")>0 or strpos($d1[0],".com")>0 )
  44. {
  45. if(filter_var("http://".$d1[0], FILTER_VALIDATE_URL))
  46. {
  47. echo $d1[0]."<br>";
  48. mysql_query("insert into domain (domain) values ('{$d1[0]}')");
  49. }
  50. }
  51. }
  52. ?>
<?
/*$str=file_get_contents("https://yandex.kz/search/?lr=164&msid=1482499324.38647.22901.11213&text=%D0%BE%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0");
echo $str;
$text=explode(">",$str); 
foreach($text as $domain)
{
  $d1=explode("<",$domain); 
  if(strpos($d1[0],".kz")>0)
  {
    if(filter_var("http://".$d1[0], FILTER_VALIDATE_URL))
      echo $d1[0]."<br>";
  }
}*/
mysql_connect("localhost","root","");
mysql_select_db("google");
$t=mysql_query("select * from domain where status=0 limit 1");
$r=mysql_fetch_array($t);
$start=rand(0,5)*20;
if(isset($r['domain']))
  {
  $url=$r['domain'];
  mysql_query("update domain set status=1 where status=0 limit 1");
  }
else
  $url="https://www.google.com/search?q=одежда&hl=en&biw=1024&bih=667&site=imghp&tbm=isch&ei=LTNdWIbzIYysswHGqZtI&start={$start}&sa=N";

$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
echo "Обрабатываем домен: ".$url;
echo "<hr>";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,$url);
$result=curl_exec($ch);
$title=explode("</title>",explode("<title>",$result)[1])[0];
echo "<h1>".$title."</h1>";
$text=explode(">",$result); 
foreach($text as $domain)
{
  $d1=explode("<",$domain); 
  if(strpos($d1[0],"@")>0)continue;
  if(strpos($d1[0],".kz")>0 or  strpos($d1[0],".ru")>0 or strpos($d1[0],".com")>0 )
  {
    if(filter_var("http://".$d1[0], FILTER_VALIDATE_URL))
    {
      echo $d1[0]."<br>";
      mysql_query("insert into domain (domain) values ('{$d1[0]}')");
    }
  }
}
?>