<?php
namespace framework\src\cmd;
use framework\cao as cao;
final class arr extends cao {
static protected function _key_prefix_($p, $k_a = array(), $remove = false){
$arr = array() if( !is_string($p) || empty($p) || !is_array($k_a) || empty($k_a) ){
$arr = $a;
return $arr;
}
foreach( $k_a as $k_key => $k_value){
if( empty($remove) ){
$arr[$p.$k_key] = $k_value;
}else{
if( mb_strpos($k_key, $p) === 0 ){
$arr_key = str_replace($p, "", $k_key);
$arr[$arr_key] = $k_value;
}else{
$arr[$k_key] = $k_value;
}
}
}
return $arr;
}
static protected function _key_replace_($a, $k_a = array()){
$arr = array() if( !is_array($a) || empty($a) || !is_array($k_a) || empty($k_a) ){
$arr = $a;
return $arr;
}
foreach( $a as $key => $value ){
foreach( $k_a as $k_key => $k_value){
if( $k_key == $key ){
$arr[$k_value] = $value;
continue 2;
}
}
$arr[$key] = $value;
}
return $arr;
}
static protected function _whitelist_($a, $w_a = array(), $type = false){
if( !is_array($a) || !is_array($w_a) ){
return $a;
}
if( empty($a) || empty($w_a) ){
return array();
}
if( empty($type) ){
foreach( $a as $key => $value ){
if( !in_array($key, $w_a) ){
unset($a[$key]);
}
}
}else{
foreach( $a as $key => $value ){
if( !in_array($value, $w_a) ){
unset($a[$key]);
}
}
}
return $a;
}
static protected function _blacklist_($a, $b_a = array(), $type = false){
if( !is_array($a) || empty($a) || !is_array($b_a) || empty($b_a) ){
return $a;
}
if( empty($type) ){
foreach( $a as $key => $value ){
if( in_array($key, $b_a) ){
unset($a[$key]);
}
}
}else{
foreach( $a as $key => $value ){
if( in_array($value, $b_a) ){
unset($a[$key]);
}
}
}
return $a;
}
static protected function _indexedvalue_($a = array(), $field = ''){
if( empty($a) || !is_array($a) ){
return $a;
}
$arr = array();
foreach($a as $key => $value){
if( !empty($field) ){
if( isset($value[$field]) ){
$arr[] = $value[$field];
}
}else{
if( is_array($a[$key]) ){
foreach($a[$key] as $v){
$arr[] = $v;
}
}else{
$arr[] = $a[$key];
}
}
}
return $arr;
}
}
?>