如何解决如何在 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 举报,一经查实,本站将立刻删除。