"Radiator","details"=>0=>["label"=>"Condition","value"= > "Nouveau",],1=>[""> Comment filtrer un tableau multidimensionnel en fonction des colonnes d'un tableau imbriqué ?-Questions et réponses sur le réseau chinois PHP
Comment filtrer un tableau multidimensionnel en fonction des colonnes d'un tableau imbriqué ?
P粉004287665
P粉004287665 2023-09-08 13:16:28
0
1
420

Supposons que j'ai un tableau comme celui-ci :

$array = [ 0 => [ "label" => "Radiator", "details" => 0 => [ "label" => "Condition", "value" => "New", ], 1 => [ "label" => "Type", "value" => "Wall", ], ], 1 => [ "label" => "Airco", "details" => 0 => [ "label" => "Condition", "value" => "New", ], 1 => [ "label" => "Type", "value" => "", ], ], 2 => [ "label" => "Refrigerator", "details" => 0 => [ "label" => "Condition", "value" => "Bad", ], 1 => [ "label" => "Type", "value" => "Wall", ], ], ];

Je souhaite filtrer ce tableau afin qu'il ne contienne que des détails dont la valeur n'est pas vide. Aircotype值为空,因此它不应返回详细的type. Dans ce cas, le tableau renvoyé devrait ressembler à ceci :

$array = [ 0 => [ "label" => "Radiator", "details" => 0 => [ "label" => "Condition", "value" => "New", ], 1 => [ "label" => "Type", "value" => "Wall", ], ], 1 => [ "label" => "Airco", "details" => 0 => [ "label" => "Condition", "value" => "New", ], ], 2 => [ "label" => "Refrigerator", "details" => 0 => [ "label" => "Condition", "value" => "Bad", ], 1 => [ "label" => "Type", "value" => "Wall", ], ], ];

Je sais que je peux filtrer un tableau en fonction de colonnes vides en utilisant le code suivant (trouvé ici) :

$result = array_filter($array, function($o) use($column) { return trim( $o[$column] ) !== '' && $o[$column] !== null; });

Mais comme j'ai un tableau imbriquédetails, je ne sais pas trop comment adapter ce code pour le rendre adapté à mon cas.

P粉004287665
P粉004287665

répondre à tous (1)
P粉458725040

Votrearray_filter仅在第一级起作用。您还希望在details数组上进行循环,您可以使用简单的 foreach 循环来完成此操作。外部循环将遍历所有行,内部循环将遍历每行的详细信息.

 $record){ if(strlen($record['value']) == 0){ unset($row['details'][$key]); } } }

Démonstration en direct

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!