PHP-比较数组的2个值

PHP-比较数组的2个值,php,arrays,Php,Arrays,我有一个关于比较两个数组的问题。 我已经在这个论坛上搜索过了,但是没有什么比我想要的更好 $stock = array("7", "5", "3"); $request = array("3", "6", "3"); 我想要实现的是,如果$stock中的每个值都高于$request,那么我可以执行订单。 但在这种情况下,位置2的请求值高于库存值(6比5) 我的问题是,如果$request中有任何值高于$stock中的每个值,那么如何比较PHP中的代码? 或 比较$stock中的每个值是否高于$

我有一个关于比较两个数组的问题。 我已经在这个论坛上搜索过了,但是没有什么比我想要的更好

$stock = array("7", "5", "3");
$request = array("3", "6", "3");
我想要实现的是,如果
$stock
中的每个值都高于
$request
,那么我可以执行订单。 但在这种情况下,位置2的请求值高于库存值(6比5)

我的问题是,如果
$request
中有任何值高于
$stock
中的每个值,那么如何比较PHP中的代码? 或 比较
$stock
中的每个值是否高于
$request
中的每个值

提前感谢。

功能检查订单($stock,$request){
function checkOrder($stock,$request){
    for($i=0; $i < count($stock); $i++){
        if($stock[$i] < $request[$i]) return false;
    }
    return true;
}
对于($i=0;$i
只需在数组中循环并比较各个数组中的索引即可。因为它是固定长度的,所以不需要任何复杂的检查或处理。这假设键是由PHP分配的,因此它们都从0开始,并且总是增加1

$stock   = array("7", "5", "3");
$request = array("3", "6", "3");
var_dump(validate_order($stock, $request)); // false

$stock   = array("7", "5", "3");
$request = array("3", "4", "3");
var_dump(validate_order($stock, $request)); // true

function validate_order($stock, $request) {
    foreach ($stock as $key=>$value) // Fixed length, loop through
        if ($value < $request[$key])
            return false; // Return false only if the stock is less than the request
    return true; // If all indexes are higher in stock than request, return true
}

您指的是匹配索引还是数组总数?在您的示例中,
$stock
是否会更高,因为7高于3、6、3,还是因为7、5和3分别与3、6和3进行评估?在这种情况下,7(stock)将与3(request)进行比较,5(stock)与6(request)进行比较,最后3(stock)与最后3(request)进行比较。如果它们相等,是否有效?它们的长度总是一样的,还是会有所不同?如果长度不同,那么会发生什么?是的,>=将有效,并且它们将始终具有相同的长度。这是吗<代码>函数cmp($stock,$request){返回数组_reduce(数组_keys($stock),函数($carry,$key)use($stock,$request){$carry&=$stock[$key]>=$request[$key];返回$carry;},true);}以及如何/在哪里放置类似echo的东西;如果库存中的所有指数都高于要求(返回true)?
if (validate_order($stock, $request)) {
    /* Put your code here */
    /* The order is valid */
} else {
    /* Order is not valid */
}