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