当前位置: 首页 > 面试题库 >

如何通过条件过滤数组

梁丘弘
2023-03-14
问题内容

我有一个像这样的数组:

array("a" => 2, "b" => 4, "c" => 2, "d" => 5, "e" => 6, "f" => 2)

现在,我想按某种条件过滤该数组,只保留值等于2的元素,并删除值不等于2的所有元素。

所以我的预期结果数组将是:

array("a" => 2, "c" => 2, "f" => 2)

注意:我想保留原始数组中的键。

如何使用PHP做到这一点?有内置功能吗?


问题答案:
$fullarray = array('a'=>2,'b'=>4,'c'=>2,'d'=>5,'e'=>6,'f'=>2);


function filterArray($value){
    return ($value == 2);
}

$filteredArray = array_filter($fullArray, 'filterArray');

foreach($filteredArray as $k => $v){
    echo "$k = $v";
}


 类似资料:
  • 我试图子集一个熊猫DataFrame在python基于两个逻辑语句 即。 但是第3行的语法无效。 有没有一种方法可以在一行中完成?

  • 问题内容: 我有一个要点词典,说: 我想创建一个新字典,其中所有x和y值均小于5的点,即点“ a”,“ b”和“ d”。 根据这本书,每个字典都有该函数,该函数返回一个 元组列表: 所以我写了这个: 有没有更优雅的方式?我期待Python具有一些超棒的功能… 问题答案: 如今,在Python 2.7及更高版本中,您可以使用dict理解: 在Python 3中:

  • 我必须构建一个Android应用程序,用于读取一种设备上的信息,该设备仅在过滤时在扫描时显示(一般扫描不会显示它)。该设备类似于信标,因此它仅通告数据,这些数据在通告上具有我想要的信息(它不可连接)。制造商给我的过滤器是原始数据。即: 0x02010612435542 我不能按名称过滤它,因为设备不会宣传它的名称。我也不能通过来完成,因为应用程序以前不会知道设备的地址(这将是许多此类设备)。 nr

  • 问题内容: 我正在尝试使用Pandas在几个条件下进行布尔索引。我原来的DataFrame称为。如果执行以下操作,将得到预期的结果: 但是,如果我这样做(我认为应该是等效的),则不会返回任何行: 知道导致差异的原因是什么? 问题答案: 使用是因为运算符优先级: 或者,在单独的行上创建条件: 样品 :

  • 问题内容: 如果我要搜索的主数组是,它将只将该数组过滤为。 这是我尝试过的: 它抛出 有什么建议? 问题答案: 使用来代替: 输出量 [“ Hello”,“ Halo”] 感谢@ user3441734指出,功能仅在您使用时才可用

  • 问题内容: 谁能向我解释为什么我对这两个表达式会得到不同的结果?我正在尝试在2个日期之间进行过滤: 结果:37M 与 结果:25M 它们有何不同?在我看来,他们应该产生相同的结果 问题答案: TL; DR 要传递多个条件或使用对象和逻辑运算符(,,)。请参见Pyspark:when子句中的多个条件。 您还可以使用 单个 SQL字符串: 实际上,在以下两者之间使用更有意义: 第一种方法甚至不是远程有