2013-08-02 3 views
0

То, что я ищу, просто, но я понятия не имею, что искать в google.php-поле всех элементов массива

Я ищу простой команды PHP, чтобы дать мне то, что я хочу без использования цикла:

$myarray= [ 
    ['id'=>5,'username'=>'aaa','password'=>'.....'], 
    ['id'=>6,'username'=>'bbb','password'=>'.....'], 
    ['id'=>7,'username'=>'ccc','password'=>'.....'], 
    ['id'=>8,'username'=>'ddd','password'=>'.....'], 
]; 

То, что я хочу получить:

array('aaa','bbb','ccc','ddd') 

Любой простой способ?

ответ

1

Использование array_map (PHP 4> = 4.0.6, PHP 5):

function get_usernames($a) { 
    return $a['username']; 
} 

$values = array_map('get_usernames', $myarray); 
8

Посмотрите array_column (это доступно в> = PHP 5.5 [спасибо за подсказку kalley])

$myarray= [ 
    ['id'=>5,'username'=>'aaa','password'=>'.....'], 
    ['id'=>6,'username'=>'bbb','password'=>'.....'], 
    ['id'=>7,'username'=>'ccc','password'=>'.....'], 
    ['id'=>8,'username'=>'ddd','password'=>'.....'], 
]; 
$values = array_column($myarray, "username"); 
+0

Вау, я узнаю что-то новое каждый день! – MightyPork

+4

Обратите внимание, что это PHP 5.5 и выше. Но это круто. – kalley

+0

@kalley: Спасибо за подсказку! Я обновил свой ответ. –

Смежные вопросы