列举一下本人常用的一些方法,有部分源于互联网(包括根据原有方法改写的)和本人自己写,如果涉及侵权请联系我
/**
很多时候需要在数组内取值,该方法很方便,支持多维数组
$array = ['a' => ['b' =>2]];
$value = array_get($array, 'a.b');
*/
if ( ! function_exists('array_get')){
function array_get($array, $key, $default = null){
if (! is_array($array)) {
return $default;
}
if (is_null($key)) {
return $array;
}
if (isset($array[$key])) {
return $array[$key];
}
foreach (explode('.', $key) as $segment) {
if (is_array($array) && isset($array[$segment])) {
$array = $array[$segment];
} else {
return $default;
}
}
return $array;
}
}
/**
可以实现以下简单的模板变量功能,如xxx{name}这块,常用于动态seo这块
$value = expr_code(xxx{name}, ['name'=>'a']);
*/
if ( ! function_exists('expr_code')){
public function expr_code($text, $all_vars) {
if (is_array($all_vars)){
//替换字符
$array_key = array_keys($all_vars);
array_walk($array_key,array('self','_add_tag'));
$text = str_replace($array_key,array_values($all_vars),$text);
}
return $text;
}
}
if ( ! function_exists('_add_tag')){
private function add_tag(&$key){
$key ='{'.$key.'}';
}
}