gpt4 book ai didi

php - 返回数组中大于X的数字

转载 作者:行者123 更新时间:2023-12-03 16:58:00 24 4
gpt4 key购买 nike

以下代码自动找到页面上的最高价:

    $vw_link = get_field('shop_link');

$ch = curl_init($vw_link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cl = curl_exec($ch);

$dom = new DOMDocument();
@$dom->loadHTML($cl);
$xpath = new DOMXpath($dom);

$price = $xpath->query("//span[@class='price']");

foreach($price as $value) {
$vw_array[] = floatval(str_replace('$', '', $value->nodeValue));
update_field('shop_price',max($vw_array));
}


最好的做法是切片奶酪,如果它可以返回$ vw_array中介于特定数量(即,大于100和小于200)之间的值,那么棘手的部分将是返回100之后的第一个最大数字,如果100-200之间有多个数字。

例如(如果以下价格全部包装在“价格”类中):

$88

$92

$105 <-- return this number

$125

$180

$210


有谁知道如何唤起如此宏伟的功能?

最佳答案

function getHighestValue($arr, $high = 200, $low =100) {
$data = $arr;
// sort it so you can find 1st highest value in range
asort($data);

foreach ($data as $item) {
//trim dollar sign as i can see from your example
$item = ltrim($item, "$");
if ($item >= $low && $item <= $high) {
return $item;
}
}
return false;
}


因此,如果您的数据是

$arr = [
'$140',
'$22',
'$143',
'$199',
];

var_dump(getHighestValue($arr)); // will return 140


您也可以在那之后添加美元符号

关于php - 返回数组中大于X的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27997309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com