PHP 5.5 рдореЗрдВ рдПрдХ array_column рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдЧрд╛

19 рдорд╛рд░реНрдЪ рдХреЛ PHP 5.5 рдереНрд░реЗрдб рдореЗрдВ php-5.5.0beta1 21 рдорд╛рд░реНрдЪ рдХреЛ "рдлрд╝реАрдЪрд░ рдлреНрд░реАрдЬрд╝" рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рджреВрд╕рд░реЛрдВ рдХреЗ рдмреАрдЪ, рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ array_column рдирд╛рдордХ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИ ред

рдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдкрд┐рдЫрд▓реА рдЧрд░реНрдорд┐рдпреЛрдВ рдореЗрдВ рд╣рд╛рдмрд░рд╛ рдкрд░ рд╣реБрдЖ рдерд╛, рд▓реЗрдХрд┐рди рддрдм рдЗрд╕рдХреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрдерд┐рддрд┐ рдереА, рдЕрдм рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ PHP 5.5 рдореЗрдВ рдЬрд╛рдПрдЧрд╛ред


Array_column рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдХреЙрд▓ рдкреНрд░рд╛рд░реВрдк:

(array) array_column(array $input, mixed $columnKey[, mixed $indexKey]); 

рдпрд╣рд╛рдБ $ рдЗрдирдкреБрдЯ рдореВрд▓ [N> 1] -рдбрд┐рдореЗрдВрд╢рдирд▓ рд╕рд░рдгреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ $ columnKey рдЙрд╕ рдХреЙрд▓рдо рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ $ indexKey рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рддреЛ рдкрд░рд┐рдгрд╛рдо рдЗрд╕рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЙрд▓рдо рджреНрд╡рд╛рд░рд╛ рдЖрдЧреЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ рез

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд░рдгреА рд╣реИ:

 <?php $records = array( array( 'id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe' ), array( 'id' => 3245, 'first_name' => 'Sally', 'last_name' => 'Smith' ), array( 'id' => 5342, 'first_name' => 'Jane', 'last_name' => 'Jones' ), array( 'id' => 5623, 'first_name' => 'Peter', 'last_name' => 'Doe' ) ); $firstNames = array_column($records, 'first_name'); print_r($firstNames); 

рд╣рдо рдкрд╣рд▓реЗ_рдирд╛рдо рдХреЙрд▓рдо рдкрд░ рдЪрдпрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

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

рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 2

рдЕрдм рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдИрдбреА рдХреЙрд▓рдо рдкрд░ рдПрдХ рд╣реА рдПрд░реЗ рдХреЛ рдЗрдВрдбреЗрдХреНрд╕ рдХрд░реЗрдВ:

 <?php $lastNames = array_column($records, 'last_name', 'id'); print_r($lastNames); 

рд╣рдореЗрдВ рдлреЙрд░реНрдо рдЖрдИрдбреА => last_name рдХрд╛ рдПрдХ рд╕рд░рдгреА рдорд┐рд▓рддрд╛ рд╣реИ:

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

рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ "рддрд╛рд░" рд╣рдореЗрд╢рд╛ рдЪрд╛рдмрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╣реА рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ?

 <?php $mismatchedColumns = array( array( 'a' => 'foo', 'b' => 'bar', 'e' => 'baz' ), array( 'a' => 'qux', 'c' => 'quux', 'd' => 'corge' ), array( 'a' => 'grault', 'b' => 'garply', 'e' => 'waldo' ), ); 

рдпрд╣рд╛рдВ, рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдПрдХ рдХреБрдВрдЬреА " рдП " рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рдореЗрдВ рдПрдХ рдХреБрдВрдЬреА " рдмреА " рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рднреА рдХреЙрд▓рдордХреА рддрддреНрд╡реЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрджрд┐ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рд╕рдВрдмрдВрдзрд┐рдд рд░реЗрдЦрд╛ рдореЗрдВ рдЧрд╛рдпрдм рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЧрд┐рдирд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд▓рдЧрднрдЧ рдРрд╕рд╛ рд╣реИ рдЬреИрд╕реЗ, рдХрд┐рд╕реА рдРрд░реЗ рдХреЛ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╣рдо рдЧрд▓рддреА рд╕реЗ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВред

 <?php $foo = array_column($mismatchedColumns, 'a', 'b'); $bar = array('bar' => 'foo', 'qux', 'garply' => 'grault'); /* $foo  $bar   : Array ( [bar] => foo [0] => qux [garply] => grault ) */ 

рдпрджрд┐ рдЖрдк " рдмреА " рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рджреЛ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдорд┐рд▓реЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ рджреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдпрд╣ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдХрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдорд╛рди indexKey рдорд╛рди рд╣реИ, рдирдпрд╛ рдорд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╕рд╛рдордиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧрд╛ред

 //  $records   тДЦ1 $firstNames = array_column($records, 'first_name', 'last_name'); print_r($firstNames); /* Array ( [Doe] => Peter [Smith] => Sally [Jones] => Jane ) */ 

Source: https://habr.com/ru/post/In173943/


All Articles