- var_dump: documentation ( source)
- is_a: documentation ( source)
- array_filter: documentation ( source)
- array_walk: documentation ( source)
<?php
class Stuff
{
public static function countObjTypes( array $data, array $types )
{
$return['Other'] = 0;
foreach ( $types as $type )
$return[$type] = 0;
foreach ( ( array ) $data as $obj ) {
$set = false;
array_walk( $types, function( $type ) use ( $obj, &$return, &$set )
{
if ( is_a( $obj, $type ) ) {
$return[$type]++;
$set = true;
}
} );
if ( !$set )
$return['Other']++;
}
return $return;
}
public static function getArrayValueByPath($array, $path) {
$path = (array) array_filter( $path );
if( !empty( $path ) ) {
foreach ( $path as $key ) if( !isset( $array[$key] ) ) return NULL; $array = $array[$key];
return $array;
} else {
return false;
}
}
}
$data = array( 0 => 'abc', 1 => '123');
$iteration = 0;
$path = array( $iteration );
var_dump( Stuff::getArrayValueByPath( $data, $path ) );