PHP相当于数组上的Excel vlookup(PHP equivalent of Excel vlookup on array)

编程入门 行业动态 更新时间:2024-10-26 02:35:22
PHP相当于数组上的Excel vlookup(PHP equivalent of Excel vlookup on array)

在php中查找内置函数后,我找不到与Excel的vlookup函数类似的函数。

我需要一个函数,它接受一个数组和一个查找值并返回所需的信息。 例如:

<?php $baseCalculationPrice = [ 0 => 50, //for values <=500 but >0 500 => 18, //for values <=3000 but >500 3000 => 15, //for values <=5000 but >3000 5000 => 14, //for values >5000 ]; //Examples $numPages = 499; echo vlookup($numPages,$baseCalculationPrice); //should output 50 $numPages = 500; echo vlookup($numPages,$baseCalculationPrice); //should output 50 $numPages = 501; echo vlookup($numPages,$baseCalculationPrice); //should output 18 $numPages = 3000; echo vlookup($numPages,$baseCalculationPrice); //should output 18 $numPages = 3001; echo vlookup($numPages,$baseCalculationPrice); //should output 15 $numPages = 5000; echo vlookup($numPages,$baseCalculationPrice); //should output 15 $numPages = 5001; echo vlookup($numPages,$baseCalculationPrice); //should output 14 function vlookup($value,$array){ //magic code return ....; } ?>

我对这种功能背后的逻辑感到困惑,所以任何帮助都会很棒 - 谢谢。

After looking for a built in function in php I couldn't find a similar function to Excel's vlookup function.

I need a function that takes in an array and a lookup value and return the required info. So for example:

<?php $baseCalculationPrice = [ 0 => 50, //for values <=500 but >0 500 => 18, //for values <=3000 but >500 3000 => 15, //for values <=5000 but >3000 5000 => 14, //for values >5000 ]; //Examples $numPages = 499; echo vlookup($numPages,$baseCalculationPrice); //should output 50 $numPages = 500; echo vlookup($numPages,$baseCalculationPrice); //should output 50 $numPages = 501; echo vlookup($numPages,$baseCalculationPrice); //should output 18 $numPages = 3000; echo vlookup($numPages,$baseCalculationPrice); //should output 18 $numPages = 3001; echo vlookup($numPages,$baseCalculationPrice); //should output 15 $numPages = 5000; echo vlookup($numPages,$baseCalculationPrice); //should output 15 $numPages = 5001; echo vlookup($numPages,$baseCalculationPrice); //should output 14 function vlookup($value,$array){ //magic code return ....; } ?>

I'm stuck even with the logic behind such a function, so any help would be great - thanks.

最满意答案

function vlookup($lookupValue,$array){ $result; //test each set against the $lookupValue variable, //and set/reset the $result value foreach($array as $key => $value) { if($lookupValue > $key) { $result = $value; } } return $result; } function vlookup($lookupValue,$array){ $result; //test each set against the $lookupValue variable, //and set/reset the $result value foreach($array as $key => $value) { if($lookupValue > $key) { $result = $value; } } return $result; }

更多推荐

本文发布于:2023-08-07 21:56:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1466393.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   Excel   PHP   array   equivalent

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!