Funksie array_filter

Die funksie array_filter filtreer 'n skikking met behulp van 'n gegewe funksie. Die elemente van die skikking sal agtermekaar as parameter aan die funksie oorgedra word en, indien die funksie vir daardie element true terugstuur - sal die element in die skikking bly, en indien false - sal dit verwyder word. Slegs die elemente waarvoor die funksie true terugstuur, sal in die skikking oorbly.

Indien die oorspronklike skikking assosiatief is, dan word die sleutels behou.

Sintaksis

phparray_filter(array $array, ?callable $callback = null, int $mode = 0): array

Voorbeeld

Laat ons slegs die positiewe elemente in die skikking hou:

php<?php
  function func($num)
  {
    if ($num >= 0) {
      return true;
    } else {
      return false;
    }
  }
  
  $arr = [1, -1, 2, -2, 3, -3];
  
  $res = array_filter($arr, 'func');
  var_dump($res);
?>

Resultaat van die uitvoering van die kode:

php[1, 2, 3]

Voorbeeld

Laat ons die voorwaarde verkort:

php<?php
  function func($num)
  {
    return $num >= 0;
  }
  
  $arr = [1, -1, 2, -2, 3, -3];
  
  $res = array_filter($arr, 'func');
  var_dump($res);
?>

Resultaat van die uitvoering van die kode:

php[1, 2, 3]

Voorbeeld

Laat ons omskakel na 'n anonieme funksie:

php<?php
  $arr = [1, -1, 2, -2, 3, -3];
  
  $res = array_filter($arr, function($num) {
    return $num >= 0;
  });
  
  var_dump($res);
?>

Resultaat van die uitvoering van die kode:

php[1, 2, 3]

Voorbeeld

Laat ons omskakel na 'n pylfunksie:

php<?php
  $arr = [1, -1, 2, -2, 3, -3];
  $res = array_filter($arr, fn($num) => $num >= 0);
  
  var_dump($res);
?>

Resultaat van die uitvoering van die kode:

php[1, 2, 3]

Sien ook

  • die funksie array_map,
    wat 'n funksie op die elemente van 'n skikking toepas
  • die funksie array_walk,
    wat 'n funksie vir die elemente van 'n skikking oproep
  • die funksie array_walk_recursive,
    wat rekursief 'n funksie vir die elemente van 'n skikking oproep
  • die funksie array_reduce,
    wat 'n skikking saamvou