note 119973 added to function.array-column

From: Date: Fri, 30 Sep 2016 15:41:09 +0000
Subject: note 119973 added to function.array-column
Groups: php.notes 
Request: Send a blank email to php-notes+get-206713@lists.php.net to get a copy of this message
Here's a neat little snippet for filtering a set of records based on a the value of a column: <?php function dictionaryFilterList(array $source, array $data, string $column) : array { $new = array_column($data, $column); $keep = array_diff($new, $source); return array_intersect_key($data, $keep); } // Usage: $users = [ ['first_name' => 'Jed', 'last_name' => 'Lopez'], ['first_name' => 'Carlos', 'last_name' => 'Granados'], ['first_name' => 'Dirty', 'last_name' => 'Diana'], ['first_name' => 'John', 'last_name' => 'Williams'], ['first_name' => 'Betty', 'last_name' => 'Boop'], ['first_name' => 'Dan', 'last_name' => 'Daniels'], ['first_name' => 'Britt', 'last_name' => 'Anderson'], ['first_name' => 'Will', 'last_name' => 'Smith'], ['first_name' => 'Magic', 'last_name' => 'Johnson'], ]; var_dump(dictionaryFilterList(['Dirty', 'Dan'], $users, 'first_name')); // Outputs: [ ['first_name' => 'Jed', 'last_name' => 'Lopez'], ['first_name' => 'Carlos', 'last_name' => 'Granados'], ['first_name' => 'John', 'last_name' => 'Williams'], ['first_name' => 'Betty', 'last_name' => 'Boop'], ['first_name' => 'Britt', 'last_name' => 'Anderson'], ['first_name' => 'Will', 'last_name' => 'Smith'], ['first_name' => 'Magic', 'last_name' => 'Johnson'] ] ?> ---- Server IP: 72.52.91.14 Probable Submitter: 68.194.230.53 ---- Manual Page -- http://php.net/manual/en/function.array-column.php Edit -- https://master.php.net/note/edit/119973 Del: integrated -- https://master.php.net/note/delete/119973/integrated Del: useless -- https://master.php.net/note/delete/119973/useless Del: bad code -- https://master.php.net/note/delete/119973/bad+code Del: spam -- https://master.php.net/note/delete/119973/spam Del: non-english -- https://master.php.net/note/delete/119973/non-english Del: in docs -- https://master.php.net/note/delete/119973/in+docs Del: other reasons-- https://master.php.net/note/delete/119973 Reject -- https://master.php.net/note/reject/119973 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#206713) next »