Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP是否从数组和关联行数据中获取最小值?_Php_Arrays_Multidimensional Array - Fatal编程技术网

PHP是否从数组和关联行数据中获取最小值?

PHP是否从数组和关联行数据中获取最小值?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个包含以下数据的数组,我正在尝试查找价格最低的列,然后获取相关行数据stock和supplier value,我已设法获取了最低价格,但不确定如何获取stock和supplier的相关行数据,任何adivce。谢谢 $productdata=array ( array('Price'=>$row['price1'],'Stock'=>$row['stock1'],'Supplier'=>$row['supplier1']), array('Price'=&

我有一个包含以下数据的数组,我正在尝试查找价格最低的列,然后获取相关行数据stock和supplier value,我已设法获取了最低价格,但不确定如何获取stock和supplier的相关行数据,任何adivce。谢谢

$productdata=array
(
    array('Price'=>$row['price1'],'Stock'=>$row['stock1'],'Supplier'=>$row['supplier1']),
    array('Price'=>$row['price2'],'Stock'=>$row['stock2'],'Supplier'=>$row['supplier2']),
    array('Price'=>$row['price3'],'Stock'=>$row['stock3'],'Supplier'=>$row['supplier3'])
    );
$filtered_array = array_filter($productdata, function($v) {
return $v['Price'];});

$minprice= min( array_column( $filtered_array, 'Price') );
 print_r($minprice); 

您可以使用按价格升序对数组进行排序。然后,价格最低的数组将是第一个项目$productdata[0]


您可以使用按价格升序对数组进行排序。然后,价格最低的数组将是第一个项目$productdata[0]


首先按升序对数组进行排序,然后将第一个元素作为最低元素

$filtered_array=array
(
    array('Price'=>100,'Stock'=>1000,'Supplier'=>'Kapil'),
    array('Price'=>50,'Stock'=>500,'Supplier'=>'Kapil2'),
    array('Price'=>200,'Stock'=>2000,'Supplier'=>'Kapil3')
    );

 for($i = 0; $i < count($filtered_array); $i++ ) {
    for($j = $i+1; $j< count($filtered_array); $j++ ) {

        if($filtered_array[$i]['Price'] > $filtered_array[$j]['Price']) {
            $temp = $filtered_array[$j];
            $filtered_array[$j] = $filtered_array[$i];
            $filtered_array[$i] = $temp;
        }
    }
 }
 print_r($filtered_array[0]);

首先按升序对数组进行排序,然后将第一个元素作为最低元素

$filtered_array=array
(
    array('Price'=>100,'Stock'=>1000,'Supplier'=>'Kapil'),
    array('Price'=>50,'Stock'=>500,'Supplier'=>'Kapil2'),
    array('Price'=>200,'Stock'=>2000,'Supplier'=>'Kapil3')
    );

 for($i = 0; $i < count($filtered_array); $i++ ) {
    for($j = $i+1; $j< count($filtered_array); $j++ ) {

        if($filtered_array[$i]['Price'] > $filtered_array[$j]['Price']) {
            $temp = $filtered_array[$j];
            $filtered_array[$j] = $filtered_array[$i];
            $filtered_array[$i] = $temp;
        }
    }
 }
 print_r($filtered_array[0]);
不使用排序或循环的解决方案:

获取数组中的所有价格,然后获取最低价格的键

$prices = array_column($productdata, 'Price');
$min_price = min($prices);
$key = array_search($min_price, $prices);
输出匹配行:

$match = $productdata[$key];
echo '<pre>' . print_r($match, true) . '</pre>';
文件:

不使用排序或循环的解决方案:

获取数组中的所有价格,然后获取最低价格的键

$prices = array_column($productdata, 'Price');
$min_price = min($prices);
$key = array_search($min_price, $prices);
输出匹配行:

$match = $productdata[$key];
echo '<pre>' . print_r($match, true) . '</pre>';
文件:


这就是为什么,开发人员总是关心,代码更少,得到更多谢谢,我基于你的建议工作了,也感谢所有花时间发布建议的人。这就是为什么,开发人员总是关心,代码更少,得到更多谢谢,我基于你的建议工作了,也感谢所有花时间发布建议的人