Array_column - Manual - PHP

update page now
  • Downloads
  • Documentation
  • Get Involved
  • Help
  • PHP 8.5
Search docs PHP 8.5.3 Released! Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Supported Protocols and Wrappers Security Introduction General considerations Installed as CGI binary Installed as an Apache module Session Security Filesystem Security Database Security Error Reporting User Submitted Data Hiding PHP Keeping Current Features HTTP authentication with PHP Cookies Sessions Handling file uploads Using remote files Connection handling Persistent Database Connections Command line usage Garbage Collection DTrace Dynamic Tracing Function Reference Affecting PHP's Behaviour Audio Formats Manipulation Authentication Services Command Line Specific Extensions Compression and Archive Extensions Cryptography Extensions Database Extensions Date and Time Related Extensions File System Related Extensions Human Language and Character Encoding Support Image Processing and Generation Mail Related Extensions Mathematical Extensions Non-Text MIME Output Process Control Extensions Other Basic Extensions Other Services Search Engine Extensions Server Specific Extensions Session Extensions Text Processing Variable and Type Related Extensions Web Services Windows Only Extensions XML Manipulation GUI Extensions Keyboard Shortcuts? This help j Next menu item k Previous menu item g p Previous man page g n Next man page G Scroll to bottom g g Scroll to top g h Goto homepage g s Goto search(current page) / Focus search box array_combine » « array_chunk
  • Manuel PHP
  • Référence des fonctions
  • Extensions relatives aux variables et aux types
  • Les tableaux
  • Fonctions sur les tableaux
Change language: English German Spanish French Italian Japanese Brazilian Portuguese Russian Turkish Ukrainian Chinese (Simplified) Other array_column

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

array_columnRetourne les valeurs d'une colonne d'un tableau d'entrée

Description

array_column(array $array, int|string|null $column_key, int|string|null $index_key = null): array

array_column() retourne les valeurs d'une colonne de array, identifiée par la clé column_key. Optionnellement, vous pouvez fournir un paramètre index_key pour indexer les valeurs dans le tableau retourné par les valeurs de la colonne index_key du tableau d'entrée.

Liste de paramètres

array

Un tableau multidimensionnel ou un tableau d'objets à partir duquel on extrait une colonne de valeur. Si un tableau d'objets est fourni, alors les propriétés publiques peuvent être directement extraites. Pour que les propriétés protected ou private soient extraites, la classe doit implémenter les deux méthodes magiques __get() et __isset().

column_key

La colonne de valeurs à retourner. Cette valeur peut être la clé entière de la colonne que vous souhaitez récupérer, ou bien le nom de la clé pour un tableau associatif ou le nom de la propriété. Il peut aussi valoir null pour retourner le tableau complet ou des objets (ceci peut être utile en conjonction du paramètre index_key pour ré-indexer le tableau).

index_key

La colonne à utiliser comme index/clé pour le tableau retourné. Cette valeur peut être la clé entière de la colonne, ou le nom de la clé. La valeur est cast comme d'habitude pour les clés du tableau (cependant, antérieur à PHP 8.0.0, les objects qui supportent une conversion en chaîne de caractère étaient aussi autorisés).

Valeurs de retour

Retourne un tableau de valeurs représentant une seule colonne depuis le tableau d'entrée.

Historique

Version Description
8.0.0 Les objets dans les colonnes indiqué par le paramètre index_key ne seront plus convertie en chaîne de caractères et lanceront désormais une TypeError à la place.

Exemples

Exemple #1 Récupère la colonne des prénoms

<?php// Tableau représentant un jeu d'enregistrements issu d'une base de données$records = [ [ 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ], [ 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ], [ 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ], [ 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ]]; $first_names = array_column($records, 'first_name');print_r($first_names);?>

L'exemple ci-dessus va afficher :

Array ( [0] => John [1] => Sally [2] => Jane [3] => Peter )

Exemple #2 Récupère la colonne des noms, indexé par la colonne "id"

<?php// En utilisant le tableau de l'exemple #1$records = [ [ 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ], [ 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ], [ 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', ], [ 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', ]];$last_names = array_column($records, 'last_name', 'id');print_r($last_names);?>

L'exemple ci-dessus va afficher :

Array ( [2135] => Doe [3245] => Smith [5342] => Jones [5623] => Doe )

Exemple #3 Récupère la colonne des username depuis la propriété publique "username" d'un objet

<?phpclass User{ public $username; public function __construct(string $username) { $this->username = $username; }}$users = [ new User('user 1'), new User('user 2'), new User('user 3'),];print_r(array_column($users, 'username'));?>

L'exemple ci-dessus va afficher :

Array ( [0] => user 1 [1] => user 2 [2] => user 3 )

Exemple #4 Récupère la colonne nom depuis la propriété privée "name" d'un objet en utilisant les méthodes magiques __isset() et __get()

<?phpclass Person{ private $name; public function __construct(string $name) { $this->name = $name; } public function __get($prop) { return $this->$prop; } public function __isset($prop) : bool { return isset($this->$prop); }}$people = [ new Person('Fred'), new Person('Jane'), new Person('John'),];print_r(array_column($people, 'name'));?>

L'exemple ci-dessus va afficher :

Array ( [0] => Fred [1] => Jane [2] => John ) Si __isset() est non défini, alors un tableau vide sera retourné.

Found A Problem?

Learn How To Improve This Page • Submit a Pull Request • Report a Bug +add a note

User Contributed Notes 28 notes

up down 113 mohanrajnr at gmail dot com10 years ago if array_column does not exist the below solution will work. if(!function_exists("array_column")) { function array_column($array,$column_name) { return array_map(function($element) use($column_name){return $element[$column_name];}, $array); } } up down 5 oleg dot bolden at gmail dot com3 years ago Index_key is safely applicable only in cases when corresponding values of this index are unique through over the array. Otherwise only the latest element of the array with the same index_key value will be picked up. <?php $records = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', 'company_id' => 1, ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', 'company_id' => 1, ), array( 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones', 'company_id' => 1, ), array( 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe', 'company_id' => 2, ) ); $first_names = array_column($records, 'first_name', 'company_id'); print_r($first_names); ?> The above example will output: <?php Array ( [1] => Jane [2] => Peter ) ?> To group values by the same `index_key` in arrays one can use simple replacement for the `array_column` like below example function: <?php function arrayed_column(array $array, int|string $column_key, int|string $index_key) { $output = []; foreach ($array as $item) { $output[$item['index_key']][] = $item['column_key']; } return $output; } $first_names = arrayed_column($records, 'first_name', 'company_id'); print_r($first_names); ?> The output: <?php Array ( [1] => Array ( [0] => John [1] => Sally [2] => Jane ) [2] => Array ( [0] =>Peter ) ) ?> up down 65 WARrior12 years ago You can also use array_map fucntion if you haven't array_column(). example: $a = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe', ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith', ) ); array_column($a, 'last_name'); becomes array_map(function($element){return $element['last_name'];}, $a); up down 41 balbuf7 years ago This function does not preserve the original keys of the array (when not providing an index_key). You can work around that like so: <?php // instead of array_column($array, 'column'); // to preserve keys array_combine(array_keys($array), array_column($array, 'column')); ?> up down 4 Sbastien3 years ago The counterpart of array_column(), namely create an array from columns, can be done with array_map() : <?php // Columns $lastnames = ['Skywalker', 'Organa', 'Kenobi']; $firstnames = ['Luke', 'Leia', 'Obiwan']; // Columns to array $characters = array_map( fn ($l, $f) => ['lastname' => $l, 'firstname' => $f], $lastnames, $firstnames ); print_r($characters); /* [ 0 => ['lastname' => 'Skywalker', 'firstname' => 'Luke'] 1 => ['lastname' => 'Organa', 'firstname' => 'Leia'] 2 => ['lastname' => 'Kenobi', 'firstname' => 'Obiwan'] ] */ up down 18 yangmeishu at live dot com5 years ago Please note that if you use array_column to reset the index, when the index value is null, there will be different results in different PHP versions, examples <?php $array = [ [ 'name' =>'Bob', 'house' =>'big', ], [ 'name' =>'Alice', 'house' =>'small', ], [ 'name' =>'Jack', 'house' => null, ], ]; var_dump(array_column($array,null,'house')); On 5.6.30, 7.0.0, 7.2.0 (not limited to) get the following results array(3) { ["big"]=> array(2) { ["name"]=> string(3) "Bob" ["house"]=> string(3) "big" } ["small"]=> array(2) { ["name"]=> string(5) "Alice" ["house"]=> string(5) "small" } [0]=> array(2) { ["name"]=> string(4) "Jack" ["house"]=> NULL } } The new index, null will be converted to int, and can be incremented according to the previous index, that is, if Alice "house" is also null, then Alice's new index is "0", Jack's new index is "1" On 7.1.21, 7.2.18, 7.4.8 (not limited to) will get the following results array(3) { ["Big"]=> array(2) { ["name"]=> string(3) "Bob" ["house"]=> string(3) "Big" } ["small"]=> array(2) { ["name"]=> string(5) "Alice" ["house"]=> string(5) "small" } [""]=> array(2) { ["name"]=> string(4) "Jack" ["house"]=> NULL } } The new index null will be converted to an empty string up down 28 till at etill dot net10 years ago Some remarks not included in the official documentation. 1) array_column does not support 1D arrays, in which case an empty array is returned. 2) The $column_key is zero-based. 3) If $column_key extends the valid index range an empty array is returned. up down 5 opencart dot ocfilter at gmail dot com2 years ago Array multiple columns: <?php function array_columns() { $args = func_get_args(); $array = array_shift($args); if (!$args) { return $array; } $keys = array_flip($args); return array_map(function($element) use($keys) { return array_intersect_key($element, $keys); }, $array); } ?> EXAMPLE: <?php $products = [ [ 'id' => 2, 'name' => 'Phone', 'price' => 210.3 ], [ 'id' => 3, 'name' => 'Laptop', 'price' => 430.12 ] ]; print_r(array_columns($products, 'name', 'price')); ?> Output: Array ( [0] => Array ( [name] => Phone [price] => 210.3 ) [1] => Array ( [name] => Laptop [price] => 430.12 ) ) up down 17 nino at recgr dot com9 years ago array_column implementation that works on multidimensional arrays (not just 2-dimensional): <?php function array_column_recursive(array $haystack, $needle) { $found = []; array_walk_recursive($haystack, function($value, $key) use (&$found, $needle) { if ($key == $needle) $found[] = $value; }); return $found; } Taken from https://github.com/NinoSkopac/array_column_recursive up down 13 ff2 AT hotmail DOT co DOT uk7 years ago Because the function was not available in my version of PHP, I wrote my own version and extended it a little based on my needs. When you give an $indexkey value of -1 it preserves the associated array key values. EXAMPLE: $sample = array( 'test1' => array( 'val1' = 10, 'val2' = 100 ), 'test2' => array( 'val1' = 20, 'val2' = 200 ), 'test3' => array( 'val1' = 30, 'val2' = 300 ) ); print_r(array_column_ext($sample,'val1')); OUTPUT: Array ( [0] => 10 [1] => 20 [2] => 30 ) print_r(array_column_ext($sample,'val1',-1)); OUTPUT: Array ( ['test1'] => 10 ['test2'] => 20 ['test3'] => 30 ) print_r(array_column_ext($sample,'val1','val2')); OUTPUT: Array ( [100] => 10 [200] => 20 [300] => 30 ) <?php function array_column_ext($array, $columnkey, $indexkey = null) { $result = array(); foreach ($array as $subarray => $value) { if (array_key_exists($columnkey,$value)) { $val = $array[$subarray][$columnkey]; } else if ($columnkey === null) { $val = $value; } else { continue; } if ($indexkey === null) { $result[] = $val; } elseif ($indexkey == -1 || array_key_exists($indexkey,$value)) { $result[($indexkey == -1)?$subarray:$array[$subarray][$indexkey]] = $val; } } return $result; } ?> up down 10 miguelfzarth at gmail dot com9 years ago <?php # for PHP < 5.5 # AND it works with arrayObject AND array of objects if (!function_exists('array_column')) { function array_column($array, $columnKey, $indexKey = null) { $result = array(); foreach ($array as $subArray) { if (is_null($indexKey) && array_key_exists($columnKey, $subArray)) { $result[] = is_object($subArray)?$subArray->$columnKey: $subArray[$columnKey]; } elseif (array_key_exists($indexKey, $subArray)) { if (is_null($columnKey)) { $index = is_object($subArray)?$subArray->$indexKey: $subArray[$indexKey]; $result[$index] = $subArray; } elseif (array_key_exists($columnKey, $subArray)) { $index = is_object($subArray)?$subArray->$indexKey: $subArray[$indexKey]; $result[$index] = is_object($subArray)?$subArray->$columnKey: $subArray[$columnKey]; } } } return $result; } } ?> up down 6 Carlos Granados9 years ago 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'] ] ?> up down 6 Anonymous10 years ago I added a little more functionality to the more popular answers here to support the $index_key parameter for PHP < 5.5 <?php // for php < 5.5 if (!function_exists('array_column')) { function array_column($input, $column_key, $index_key = null) { $arr = array_map(function($d) use ($column_key, $index_key) { if (!isset($d[$column_key])) { return null; } if ($index_key !== null) { return array($d[$index_key] => $d[$column_key]); } return $d[$column_key]; }, $input); if ($index_key !== null) { $tmp = array(); foreach ($arr as $ar) { $tmp[key($ar)] = current($ar); } $arr = $tmp; } return $arr; } } ?> up down 4 benjam9 years ago Note that this function will return the last entry when possible keys are duplicated. <?php $array = array( array( '1-1', 'one', 'one', ), array( '1-2', 'two', 'one', ), ); var_dump(array_column($array, $value = 0, $index = 1)); var_dump(array_column($array, $value = 0, $index = 2)); // returns: /* array (size=2) 'one' => string '1-1' (length=3) 'two' => string '1-2' (length=3) array (size=1) 'one' => string '1-2' (length=3) */ ?> up down 1 Hiranmoy Chatterjee3 years ago The following function may be useful to create columns from all values of indexed arrays: <?php function array_column_all(array $arrays): array { $output = []; $columnCount = count($arrays[0]); for ($i = 0; $i < $columnCount; $i++) { $output [] = array_column($arrays, $i); } return $output; } ?> Use: ----- <?php array_column_all( [ ['A1', 'A2', 'A3'], ['B1', 'B2', 'B3'], ['C1', 'C2', 'C3'], ] ); ?> This will output: ------------------- Array ( [0] => Array ( [0] => A1 [1] => B1 [2] => C1 ) [1] => Array ( [0] => A2 [1] => B2 [2] => C2 ) [2] => Array ( [0] => A3 [1] => B3 [2] => C3 ) ) up down 1 1184427175 at qq dot com8 years ago //php < 5.5 if(function_exists('array_column')) { function array_column($arr_data, $col) { $result = array_map(function($arr){return $arr[$col]}, $arr_data); return $result; } } up down 2 antonfedonjuk at gmail dot com10 years ago My version is closer to the original than http://github.com/ramsey/array_column <?php /** * Provides functionality for array_column() to projects using PHP earlier than * version 5.5. * @copyright (c) 2015 WinterSilence (http://github.com/WinterSilence) * @license MIT */ if (!function_exists('array_column')) { /** * Returns an array of values representing a single column from the input * array. * @param array $array A multi-dimensional array from which to pull a * column of values. * @param mixed $columnKey The column of values to return. This value may * be the integer key of the column you wish to retrieve, or it may be * the string key name for an associative array. It may also be NULL to * return complete arrays (useful together with index_key to reindex * the array). * @param mixed $indexKey The column to use as the index/keys for the * returned array. This value may be the integer key of the column, or * it may be the string key name. * @return array */ function array_column(array $array, $columnKey, $indexKey = null) { $result = array(); foreach ($array as $subArray) { if (!is_array($subArray)) { continue; } elseif (is_null($indexKey) && array_key_exists($columnKey, $subArray)) { $result[] = $subArray[$columnKey]; } elseif (array_key_exists($indexKey, $subArray)) { if (is_null($columnKey)) { $result[$subArray[$indexKey]] = $subArray; } elseif (array_key_exists($columnKey, $subArray)) { $result[$subArray[$indexKey]] = $subArray[$columnKey]; } } } return $result; } } ?> up down 2 Rumour2 years ago If you want to preserve the array keys AND you want it to work on both object properties and array elements AND you want it to work if some of the arrays/objects in the array do not have the given key/property defined, basically the most ROBUST version you can get, yet quick enough: <?php function array_column_keys(array|ArrayAccess $arr, string $col) { // like array_columns but keeps the keys //to make it work for objects and arrays return array_map(fn($e) => (is_countable($e) ? ($e[$col]??null) : null) ?: (is_object($e) ? $e->$col : null), $arr); } ?> If a key/property is undefined, the value in the result array will be NULL. You can use array_filter() to filter those out if needed. <?php class a { public string $a = 'property a'; public string $b = 'property b'; } $a1 = new a; $a2 = new a; $a2->a = 'plop'; $b = ['one'=> ['a'=>'plop'], 3 => $a1, 4 => $a2, 5 =>[], 'kud'=>new a]; return array_column_keys($b, 'a'); ?> Returns: Array ( [one] => plop [3] => property a [4] => something else [5] => [kud] => property a ) up down 0 aschmidt at anamera dot net3 months ago Unfortunately, the most "basic" index functionality has been overlooked: indexing the resulting array using the original index -- in other words, simply maintaining the original index and associating that with a chosen column from the array. Consequently, one has to suffer additional overhead by resorting to some workaround, e.g.: array_combine( array_keys( $array ), array_column( $array, 'some column' ) ); up down 1 Hayley Watson1 year ago If an entry in the source array does not have a column_key element then array_column will silently skip that entry and return an array shorter than the source. If entries can't be uniquely identified by an index_key then there's no way of telling which ones were skipped, as without an index_key array_column returns a plain list. <?php $array = [ ['a' => '0th', 'b' => 'zero'], ['a' => '1st', 'b' => 'one'], ['a' => '2nd' /* oops */], ['a' => '3rd', 'b'=>'three']]; var_export(array_column($array, 'b')); var_export(array_column($array, 'b', 'a')); ?> up down 0 oliver dot eglseder at co-stack dot com7 months ago array_column is the only function out of array_values, array_merge, array_slice and array_column that does de-reference values. Also, it works recursive! <?php $values = []; $values['a'] = []; $values['a']['b'] = 'foo'; $references = []; $references['a'] = &$values['a']; $copyColumn = array_combine(array_keys($references), array_column($references, null)); $values['a']['b'] = 'baz'; echo $copyColumn['a']['b'] . PHP_EOL; // foo echo $references['a']['b'] . PHP_EOL; // baz ?> If you want to preserve the keys you can use <?php $dereferenced = array_combine(array_keys($references), array_column($references, null)) ?> up down 0 kevin dot sours at internetbrands dot com9 months ago I didn't see this explicitly mentioned in the documentation but if an array value is not an array (or an object with the correct functions for access) or the column_key doesn't exist then that value will simply not have a corresponding value in the output so array_column([[4,5,6], [7,8,9], 10], 0) will return [4,7]. It also means that the suggestion of array_combine(array_keys($array), array_column($array, 'column')); to preserve keys isn't safe unless you verify that nothing will be excluded by the array_column call. up down -2 hypxm at qq dot com11 years ago a simple solution: function arrayColumn(array $array, $column_key, $index_key=null){ if(function_exists('array_column ')){ return array_column($array, $column_key, $index_key); } $result = []; foreach($array as $arr){ if(!is_array($arr)) continue; if(is_null($column_key)){ $value = $arr; }else{ $value = $arr[$column_key]; } if(!is_null($index_key)){ $key = $arr[$index_key]; $result[$key] = $value; }else{ $result[] = $value; } } return $result; } up down -2 katrinaelaine6 at gmail dot com8 years ago array_column() will return duplicate values. Instead of having to use array_unique(), use the $index_key as a hack. **Caution: This may get messy when setting the $column_key and/or $index_key as integers.** <?php $records = [ [ 'id' => 2135, 'first_name' => 'John' ], [ 'id' => 3245, 'first_name' => 'Sally' ], [ 'id' => 5342, 'first_name' => 'Jane' ], [ 'id' => 5623, 'first_name' => 'Peter' ], [ 'id' => 6982, 'first_name' => 'Sally' ] ]; print_r(array_unique(array_column($records, 'first_name'))); // Force uniqueness by making the key the value. print_r(array_column($records, 'first_name', 'first_name')); print_r(array_column($records, 'id', 'first_name')); // Returns /* Array ( [0] => John [1] => Sally [2] => Jane [3] => Peter ) Array ( [John] => John [Sally] => Sally [Jane] => Jane [Peter] => Peter ) Array ( [John] => 2135 [Sally] => 6982 [Jane] => 5342 [Peter] => 5623 ) */ ?> up down -3 kaspar dot wilbuer at web dot de10 years ago If you need to extract more than one column from an array, you can use array_intersect_key on each element, like so: function array_column_multi(array $input, array $column_keys) { $result = array(); $column_keys = array_flip($column_keys); foreach($input as $key => $el) { $result[$key] = array_intersect_key($el, $column_keys); } return $result; } up down -3 Nolan chou9 years ago if (!function_exists('array_column')) { function array_column($input, $column_key=null, $index_key=null) { $result = array(); $i = 0; foreach ($input as $v) { $k = $index_key === null || !isset($v[$index_key]) ? $i++ : $v[$index_key]; $result[$k] = $column_key === null ? $v : (isset($v[$column_key]) ? $v[$column_key] : null); } return $result; } } up down -3 marianbucur17 at yahoo dot com10 years ago If array_column is not available you can use the following function, which also has the $index_key parameter: if (!function_exists('array_column')) { function array_column($array, $column_key, $index_key = null) { return array_reduce($array, function ($result, $item) use ($column_key, $index_key) { if (null === $index_key) { $result[] = $item[$column_key]; } else { $result[$item[$index_key]] = $item[$column_key]; } return $result; }, []); } } up down -1 info at mobger dot de3 years ago If you want to rearrage an array with two layers (perhaps from database-requests), then use 'array_walk' instead: <?php $yamlList = [ ['title' => 'hallo ich', 'identifier' => 'ich', 'Klaus'=> 'doof',], ['title' => 'hallo du', 'identifier' => 'du', 'Klaus'=> 'doof',], ['title' => 'hallo er', 'identifier' => 'er', 'Klaus'=> 'doof',], ]; echo ('Input'."\n".print_r($yamlList,true)."\n"); array_walk($yamlList, function (&$value, $key) { $value = [ $value['title'], $value['identifier'], ]; }); echo ("\n".'Output'."\n".print_r($yamlList,true)."\n"); ?> The Result =========== ... Output Array ( [0] => Array ( [0] => hallo ich [1] => ich ) [1] => Array ( [0] => hallo du [1] => du ) [2] => Array ( [0] => hallo er [1] => er ) ) +add a note
  • Fonctions sur les tableaux
    • array
    • array_​all
    • array_​any
    • array_​change_​key_​case
    • array_​chunk
    • array_​column
    • array_​combine
    • array_​count_​values
    • array_​diff
    • array_​diff_​assoc
    • array_​diff_​key
    • array_​diff_​uassoc
    • array_​diff_​ukey
    • array_​fill
    • array_​fill_​keys
    • array_​filter
    • array_​find
    • array_​find_​key
    • array_​first
    • array_​flip
    • array_​intersect
    • array_​intersect_​assoc
    • array_​intersect_​key
    • array_​intersect_​uassoc
    • array_​intersect_​ukey
    • array_​is_​list
    • array_​key_​exists
    • array_​key_​first
    • array_​key_​last
    • array_​keys
    • array_​last
    • array_​map
    • array_​merge
    • array_​merge_​recursive
    • array_​multisort
    • array_​pad
    • array_​pop
    • array_​product
    • array_​push
    • array_​rand
    • array_​reduce
    • array_​replace
    • array_​replace_​recursive
    • array_​reverse
    • array_​search
    • array_​shift
    • array_​slice
    • array_​splice
    • array_​sum
    • array_​udiff
    • array_​udiff_​assoc
    • array_​udiff_​uassoc
    • array_​uintersect
    • array_​uintersect_​assoc
    • array_​uintersect_​uassoc
    • array_​unique
    • array_​unshift
    • array_​values
    • array_​walk
    • array_​walk_​recursive
    • arsort
    • asort
    • compact
    • count
    • current
    • end
    • extract
    • in_​array
    • key
    • key_​exists
    • krsort
    • ksort
    • list
    • natcasesort
    • natsort
    • next
    • pos
    • prev
    • range
    • reset
    • rsort
    • shuffle
    • sizeof
    • sort
    • uasort
    • uksort
    • usort
  • Deprecated
    • each
To Top ↑ and ↓ to navigate • Enter to select • Esc to close • / to open Press Enter without selection to search using Google

Tag » Add Column To Array Php