过滤二维数组以保留列值小于定义数量的行

问题描述 投票:0回答:3
$data = array(
    array("Ravi", "Kuwait", 350),
    array("Sameer", "UK", 400),
    array("Aditi", "Switzerland", 50),
    array("Akshay", "India", 250),
    array("rishi", "Singapore", 200),
    array("Mukul", "Ireland", 100)
);

我想在第三列添加条件,以便我可以获得少于 300 的条目。

php arrays multidimensional-array filter
3个回答
4
投票

我想你的意思是每个嵌套数组中的“第三个元素
使用

array_filter
函数获取元素数组,那些第三个元素的值小于
300

$result = array_filter($data, function($v) { return $v[2] < 300; });

print_r($result);

0
投票

试试这个代码:

<?php
    $data = array
(
array("Ravi","Kuwait",350),
array("Sameer","UK",400),
array("Aditi","Switzerland",50),
array("Akshay","India",250),
array("rishi","Singapore",200),
array("Mukul","Ireland",100)
);

$newArray = array();
foreach($data as $key => $value)
{
    if($value[2] <= 100)
        $newArray[] = $value;

}

print_r($newArray);

?>

0
投票

您可以使用 PHP 函数 array_filter() :

来实现此目的

PHP

function limitArray($array) {
   return ($array[2] <= 300);
}

print_r(array_filter($data, 'limitArray'));

评估IN

© www.soinside.com 2019 - 2024. All rights reserved.