Skip to content

Instantly share code, notes, and snippets.

@juban
Created December 12, 2015 14:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juban/9ad451348ef599ea9496 to your computer and use it in GitHub Desktop.
Save juban/9ad451348ef599ea9496 to your computer and use it in GitHub Desktop.
Yii2 - Quickly add a property to an array using ArrayHelper::getColumn
<?php
require(__DIR__ . '/vendor/autoload.php');
use yii\helpers\ArrayHelper;
use yii\helpers\VarDumper;
$fooArray = [
['name' => 'Han Solo', 'email' => 'han.solo@starwars.com'],
['name' => '', 'email' => 'luc.skywalker@starwars.com'],
['name' => 'Obi-Wan Kenobi', 'email' => 'obiwan.kenobi@starwars.com']
];
$barArray = ArrayHelper::getColumn($fooArray, function ($element) {
$element['displayname'] = empty($element['name']) ? $element['email'] : $element['name'];
return $element;
});
VarDumper::dump($barArray);
// Output:
// [ 0 => [ 'name' => 'Han Solo' 'email' => 'han.solo@starwars.com' 'displayname' => 'Han Solo' ] 1 => [ 'name' => '' 'email' => 'luc.skywalker@starwars.com' 'displayname' => 'luc.skywalker@starwars.com' ] 2 => [ 'name' => 'Obi-Wan Kenobi' 'email' => 'obiwan.kenobi@starwars.com' 'displayname' => 'Obi-Wan Kenobi' ] ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment