微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 PHP 中添加 foreach 以使代码和函数适用于多个项目编号?

如何解决如何在 PHP 中添加 foreach 以使代码和函数适用于多个项目编号?

我有一些代码可以联系 API 并为与该项目编号匹配的任何图像带回“命中”,然后在 div 中显示这些图像。我怎样才能让代码再次运行并接受一组项目编号。我已经设法将多个项目编号输入到一个数组中,但是每当我尝试使用 foreach 循环运行它时,它只返回找到的第一个项目编号的结果。

下面的代码,注释掉的是我尝试 foreach 循环的地方。

<form method="get" action="startestmulti1.PHP" id="testform">
        <!-- <input type="text" name="search" required/> -->
        <textarea name="search" cols="40" rows="5" form="testform"></textarea>
        <input type="submit" value="Search"/>
        </form>
  <?PHP //if (isset($_GET['search'][5])) { ?>
    <?PHP 
  

  function getHitInfosB($hits)
  {
      return [
        "url" => $hits->thumbnailUrl,"name" => $hits->Metadata->baseName
      ];
  }
  
  function printResultsB($results,$title) {
      echo '<div id="div7">';
      echo '<h2>'.$title.'</h2>';
  
      foreach ($results as $key => $val) {
          echo "<img src='" . $val["url"] . "' alt='error'>";
      }
      echo '</div>';
  }
  



  $searchFor = explode("\r\n",trim($_GET['search']));

    if (isset($_GET['search'])) {

        $username = 'user';
        $password = 'password';
        $loginUrl = 'https://website.com';
        
      
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$loginUrl);
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,'username='.$username.'&password='.$password);
        curl_setopt($ch,CURLOPT_COOKIEJAR,'cookie.txt');
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        $store = curl_exec($ch);
        //foreach ($searchFor as $search){
        //curl_setopt($ch,'https://website.com/=itemNumber:'. $search .'&num=1000');
        curl_setopt($ch,'https://website.com/=itemNumber:'. $_GET['search'] .'&num=1000');
       
        
        
        $content = curl_exec($ch);
        $data = json_decode($content);
        $hits = $data->hits;
    }
   
    $dontshow = [];
    $fivestar = [];
    $fourstar = [];
    $threestar = [];
    $twostar = [];
    $dontworry = [];


    foreach ($hits as $hit)
    {
      $target  = $hit->Metadata->baseName;
      $target1 = $hit->Metadata->cf_imageType;
      $target2 = $hit->Metadata->cf_productionAssetStatus;
      $target3 = $hit->Metadata->cf_studioSelectionStatus;
      $target4 = $hit->Metadata->folderPath;
      $target5 = $hit->Metadata->rating;
      
      if(preg_match("/5/i",$target5)) {
        $fivestar[] = getHitInfosB($hit);
      }
      elseif(preg_match("/4/i",$target5)) {
        $fourstar[] = getHitInfosB($hit);
      }
      elseif(preg_match("/3/i",$target5)) {
        $threestar[] = getHitInfosB($hit);
      }
      elseif(preg_match("/test/i",$target4)) {
        $dontshow[] = getHitInfosB($hit);
      }
      elseif(preg_match("/trash/i",$target3)) {
        $dontshow[] = getHitInfosB($hit);
      }
      else{
        $dontworry[] = getHitInfosB($hit);
      }
  
  
  }
  if (count($fivestar) > 0){
    printResultsB($fivestar,"fivestar");}
    if (count($fourstar) > 0){
    printResultsB($fourstar,"fourstar");}
    if (count($threestar) > 0){
      printResultsB($threestar,"threestar");}
   





     //}
    ?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。