Revision: 67208
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 25, 2014 23:30 by ryantxr
Initial Code
<?php
// from this nested array I want to extract only the user_id's
$arr = array(
array('User' => array('user_id' => 100, 'device_id' => 2100, 'name' => 'a', 'role' => 'admin')),
array('User' => array('user_id' => 101, 'device_id' => 2101, 'name' => 'b', 'role' => 'admin')),
array('User' => array('user_id' => 102, 'device_id' => 2102, 'name' => 'c', 'role' => 'admin')),
array('User' => array('user_id' => 103, 'device_id' => 2103, 'name' => 'd', 'role' => 'admin')),
array('User' => array('user_id' => 104, 'device_id' => 2104, 'name' => 'e', 'role' => 'admin')),
array('User' => array('user_id' => 105, 'device_id' => 2105, 'name' => 'f', 'role' => 'admin')),
);
// this is how to do it using anonymous function
$new = array_map(function($n){return $n['User']['user_id'];}, $arr);
// Use a global function
function map_func($n){
return $n['User']['user_id'];
}
$new2 = array_map('map_func', $arr);
// Call a static function in a class
class MyMapper{
static function map_func($n){
return $n['User']['user_id'];
}
}
$callable = array('MyMapper', 'map_func');
$new3 = array_map($callable, $arr);
// Using a function from an object.
$myMapperObject = new MyMapper;
$callable = array($myMapperObject, 'map_func');
$new4 = array_map($callable, $arr);
echo "=========================\n";
print_r($new);
print_r($new2);
print_r($new3);
print_r($new4);
echo "=========================\n";
Initial URL
Initial Description
shows how to use array_map to mine data from nested arrays.
Initial Title
array_map usage
Initial Tags
array
Initial Language
PHP