Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 从整数小于3的数组中删除所有元素_Php_Arrays_Filter - Fatal编程技术网

Php 从整数小于3的数组中删除所有元素

Php 从整数小于3的数组中删除所有元素,php,arrays,filter,Php,Arrays,Filter,我需要删除FacetValueCount低于3的所有元素 我该怎么做 这是我的数组:数组名是$farben array(8) { [0]=> array(2) { ["FacetValueName"]=> string(4) "Blau" ["FacetValueCount"]=> int(5) } [1]=> array(2) { ["FacetValueName"]=> string(7) "S

我需要删除
FacetValueCount
低于
3
的所有元素

我该怎么做

这是我的数组:数组名是
$farben

array(8) {
  [0]=>
  array(2) {
    ["FacetValueName"]=>
    string(4) "Blau"
    ["FacetValueCount"]=>
    int(5)
  }
  [1]=>
  array(2) {
    ["FacetValueName"]=>
    string(7) "Schwarz"
    ["FacetValueCount"]=>
    int(3)
  }
  [2]=>
  array(2) {
    ["FacetValueName"]=>
    string(4) "blue"
    ["FacetValueCount"]=>
    int(2)
  }
  [3]=>
  array(2) {
    ["FacetValueName"]=>
    string(4) "Grau"
    ["FacetValueCount"]=>
    int(1)
  }
}

试试这个


这里可能有用,$key和row是什么?抱歉,im初学者
$key
是数组的索引,数组“keys/index”。
$行
包含数组索引的值。。。这里是另一个数组
$row
。这样写
foreach
时,“自动”工作。所以键是“array”?不,它在第一个“循环”中是
[0]
,然后是
[1][2][3]
好的,修复了。。。
行前面缺少
$
谢谢。。。但小于3<代码><3
请不要将
>3
更改为
<3
来编辑此答案
<3
在这里是错误的,
>3
不是理想的,但这要由作者来纠正。
array\u filter
的第二个参数应该是一个谓词,它告诉每个元素应该被接受(当谓词返回truthy时)还是被过滤掉(当谓词返回falsy时),如下所示:
$farben=array_filter($farben,function($each){return$each['FacetValueCount']>=3;})
<?php

$farben = ARRAY();
$farben[] = array('FacetValueName'=>'Blau',  'FacetValueCount' => 5);
$farben[] = array('FacetValueName'=>'Schwarz',  'FacetValueCount' => 3);
$farben[] = array('FacetValueName'=>'blue',  'FacetValueCount' => 2);
$farben[] = array('FacetValueName'=>'Grau',  'FacetValueCount' => 1);

print '<pre>'; var_dump($farben); print '</pre>';

foreach ($farben AS $key => $row) {
  if ($row['FacetValueCount'] < 3) { unset($farben[$key]); }
}

print '<pre>'; var_dump($farben); print '</pre>';

?>
    $farben = array_filter($farben, function($row) { 
if($row["FacetValueCount"] > 3) {
    return $row;
}
});