每日记录5个函数

Crasph彬 184 0

自从工作后,用到的函数也不在少数,另外在学习框架以及看开源代码的过程中也接触了很多从前没见过的函数,大概是年龄增大的缘故,函数的记忆总在不停的丢失,所以由此萌生了记录函数的心思。学习东西最快的方法是实践以及重复,所以,在实践的同时,重复的记忆也许是个不错的方法。

下面引用超哥学习PHP的建议(超哥,laraval界的大牛,想了解的跟多,可移步超哥博客)。

1. 记 PHP 函数
2. 学习优秀代码的思想
3. 不停写代码,十万行代码什么时候达到什么时候就 NB 了
4. 多尝试脱离任何固定思维去写东西、按自己的想法去做、然后你会遇到问题,总结起来
5. 反思自己写代码的套路与流程,敢于怀疑

函数,每天学习5个,不多不少,然后每天花点时间复习一遍。
一步一个脚印,稳扎稳打,重新出发!从基本的函数记忆开始,坚持 ing!

2019/2/17

//array_pad — 用值将数组填补到指定长度
//array_pop — 将数组最后一个单元弹出(出栈)
//array_push — 将一个或多个单元压入数组的末尾(入栈)
//array_shift — 将数组开头的单元移出数组
//array_unshift — 在数组开头插入一个或多个单元
$input = array(12, 10, 9);
var_dump(array_pad($input, 5, 0));//array(5) { [0]=> int(12) [1]=> int(10) [2]=> int(9) [3]=> int(0) [4]=> int(0) }
var_dump(array_pad($input, -4, 11));//array(4) { [0]=> int(11) [1]=> int(12) [2]=> int(10) [3]=> int(9) }
var_dump(array_pad($input, 2, 1));// array(3) { [0]=> int(12) [1]=> int(10) [2]=> int(9) }
var_dump(array_pad($input, 4, 'ddd'));//array(4) { [0]=> int(12) [1]=> int(10) [2]=> int(9) [3]=> string(3) "ddd" }

var_dump(array_pop($input)); //9  $input = array(2) { [0]=> int(12) [1]=> int(10) }
$input = array('dd', 'aa', 'ee');
var_dump(array_push($input, 'hbb', 'test'));  // 5  $input = array(5) { [0]=> string(2) "dd" [1]=> string(2) "aa" [2]=> string(2) "ee" [3]=> string(3) "hbb" [4]=> string(4) "test" }
var_dump(array_shift($input)); //"dd" $input = array(2) { [0]=> string(2) "aa" [1]=> string(2) "ee" }
var_dump(array_unshift($input, 'hbb', 'test')); // 5 $input = array(5) { [0]=> string(3) "hbb" [1]=> string(4) "test" [2]=> string(2) "dd" [3]=> string(2) "aa" [4]=> string(2) "ee" }

2019/2/16

//array_fill — 用给定的值填充数组
//array_fill_keys — 使用指定的键和值填充数组
//array_flip — 交换数组中的键和值
//array_keys — 返回数组中部分的或所有的键名
//array_values — 返回数组中所有的值
var_dump(array_fill(4, 8, 'hbb')); //array(8) { [4]=> string(3) "hbb" [5]=> string(3) "hbb" [6]=> string(3) "hbb" [7]=> string(3) "hbb" [8]=> string(3) "hbb" [9]=> string(3) "hbb" [10]=> string(3) "hbb" [11]=> string(3) "hbb" }
var_dump(array_fill(-2, 3, 'hbb'));//array(3) { [-2]=> string(3) "hbb" [0]=> string(3) "hbb" [1]=> string(3) "hbb" }
$keys = array('foo', 5, 10, 'bar');
var_dump(array_fill_keys($keys, 'hbb'));//array(4) { ["foo"]=> string(3) "hbb" [5]=> string(3) "hbb" [10]=> string(3) "hbb" ["bar"]=> string(3) "hbb" }
$a = ['name' => 'herry', 'sex' => 'male'];
var_dump(array_flip($a));//array(2) { ["herry"]=> string(4) "name" ["male"]=> string(3) "sex" }
var_dump(array_keys($a));//array(2) { [0]=> string(4) "name" [1]=> string(3) "sex" }
var_dump(array_values($a));//  array(2) { [0]=> string(5) "herry" [1]=> string(4) "male" }

2019/2/15

//array_column — 返回数组中指定的一列
//array_combine — 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值
//array_count_values — 统计数组中所有的值
//array_diff — 计算数组的差集
//array_diff_assoc — 带索引检查计算数组的差集
$str = 12364.56;
//string number_format( float $number, int $decimals = 0, string $dec_point = ".", string $thousands_sep = ",")
echo number_format($str); //12,365
echo number_format($str, 1); // 12,364.6
echo number_format($str, 1, '-', ','); //12,364-6
echo number_format($str, 2, '.', ','); //12,364.56


$arr = [
         [
             'id' => 25,
             'name' => 'hbb',
             'sex'  => 'male'
         ],
         [
             'id' => 28,
             'name' => 'de',
             'sex'  => 'fmale'
         ],
         [
             'id' => 29,
             'name' => 'wwe',
             'sex'  => 'fmale'
         ]
     ];
     var_dump(array_column($arr, 'name'));  //array(3) { [0]=> string(3) "hbb" [1]=> string(2) "de" [2]=> string(3) "wwe" } 
     var_dump(array_column($arr, 'name', 'id'));  //array(3) { [25]=> string(3) "hbb" [28]=> string(2) "de" [29]=> string(3) "wwe" } 

     $a = array('green', 'red', 'yellow');
     $b = array('avocado', 'apple', 'banana');
     var_dump(array_combine($a, $b)); //array(3) { ["green"]=> string(7) "avocado" ["red"]=> string(5) "apple" ["yellow"]=> string(6) "banana" } 

     $array = array(1, "hello", 1, "world", "hello");
     var_dump(array_count_values($array));  //array(3) { [1]=> int(2) ["hello"]=> int(2) ["world"]=> int(1) } 

     $array1 = array("a" => "green", "red", "blue", "red");
     $array2 = array("b" => "green", "yellow", "red");
     var_dump(array_diff($array1, $array2));  //array(1) { [1]=> string(4) "blue" } 

     $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
     $array2 = array("a" => "green", "yellow", "red");
     var_dump(array_diff_assoc($array1, $array2));  //array(3) { ["b"]=> string(5) "brown" ["c"]=> string(4) "blue" [0]=> string(3) "red" }

2019/2/14

公司年会,12点到家,故漏……

2019/2/13

number_format — 以千位分隔符方式格式化一个数字
sprintf — 输出格式化字符串
strip_tags — 从字符串中去除 HTML 和 PHP 标记
trim — 去除字符串首尾处的空白字符(或者其他字符)
parse_str — 将字符串解析成多个变量
$str = 12364.56;
//string number_format( float $number, int $decimals = 0, string $dec_point = ".", string $thousands_sep = ",")
echo number_format($str); //12,365
echo number_format($str, 1); // 12,364.6
echo number_format($str, 1, '-', ','); //12,364-6
echo number_format($str, 2, '.', ','); //12,364.56


$number = 123;
$number2 = 1234;
//string sprintf( string $format[, mixed $args[, mixed $...]] )
//arg1、arg2、++ 参数将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
//注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符位于 % 符号之后,由数字和 "\$" 组成

//%% - 返回一个百分号 %
//%b - 二进制数
//%c - ASCII 值对应的字符
//%d - 包含正负号的十进制数(负数、0、正数)
//%e - 使用小写的科学计数法(例如 1.2e+2)
//%E - 使用大写的科学计数法(例如 1.2E+2)
//%u - 不包含正负号的十进制数(大于等于 0)
//%f - 浮点数(本地设置)
//%F - 浮点数(非本地设置)
//%g - 较短的 %e 和 %f
//%G - 较短的 %E 和 %f
//%o - 八进制数
//%s - 字符串
//%x - 十六进制数(小写字母)
//%X - 十六进制数(大写字母)

echo sprintf("带两位小数:%2\$.2f  不带小数:%1\$u",$number,$number2); //带两位小数:1234.00   不带小数:123

echo sprintf("我的%s是一片%s光明,直到%u年",'世界','璀璨', '2999');  //我的世界是一片璀璨光明,直到2999年

//string strip_tags( string $str[, string $allowable_tags] )
$str = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($str); //Test paragraph. Other text
echo strip_tags($str, '<p><a>'); //<p>Test paragraph.</p> <a href="#fragment">Other text</a>
echo '</br>';
$str = ' Hello World';

echo trim($str);  //Hello World
echo '</br>';
echo trim($str,"Hed!"); //llo Worl

parse_str("name=Bill&age=60",$myArray);
print_r($myArray); //Array ( [name] => Bill [age] => 60 )

2019/2/12

str_split    — 将字符串转换为数组
str_shuffle  — 随机打乱一个字符串
str_replace  — 子字符串替换
str_repeat   — 重复一个字符串
str_pad      — 使用另一个字符串填充字符串为指定长度
$str = 'aAKIE';
print_r(str_split($str));  //Array ( [0] => a [1] => A [2] => K [3] => I [4] => E )
print_r(str_split($str, 2));  //Array ( [0] => aA [1] => KI [2] => E )
echo str_shuffle($str);  //EKIAa

echo str_repeat('abc', 3);  //abcabcabc

$input = "Alien";
echo str_pad($input, 10);                      // 输出 "Alien     "
echo str_pad($input, 10, "0", STR_PAD_LEFT);  // 输出 "00000Alien"
echo str_pad($input, 10, "0", STR_PAD_BOTH);   // 输出 "00Alien000"
echo str_pad($input, 6 , "000");               // 输出 "Alien0"

echo str_replace("%body%", "black", "<body text='%body%'>"); //<body text='black'>
echo str_replace("%body%", "black", "<body text='%body%'>", $count); //<body text='black'>  $count = 1
echo str_replace(['a', 'b', 'c'], ['d', 'e', 'f'], "a b c", $count); //d e f   ,d 替换a,e替换b,以此类推
echo str_replace(['a', 'b', 'c'], 'a', "a b c", $count);  //a a a

2019/2/11

strstr       — 查找字符串的首次出现
stristr      — strstr() 函数的忽略大小写版本
strpos       — 查找字符串首次出现的位置
stripos      — strpos() 函数的忽略大小写版本
strrpos      — 计算指定字符串在目标字符串中最后一次出现的位置
strripos     — strrpos() 函数的忽略大小写版本
substr       — 返回截取后字符串
strchr       — 别名 strstr()
$string = 'abcdef@adeae12';
$res = strstr($string, '@');  //@adeae12
echo $res;
echo '</br>';
$res = strstr($string, '@', true);  //abcdef
echo $res;
echo '</br>';
$res = strpos($string, 'a'); //0
echo $res;
echo '</br>';
$res = strpos($string, 'd', 6); //8
echo $res; 
echo '</br>';
$res = substr($string, 1, 6); //bcdef@
echo $res;
echo '</br>';
$res = substr($string, 0, -2); //abcdef@adeae
echo $res;
echo '</br>';



支付宝打赏
微信打赏
发表评论
表情 图片 链接 代码

分享
微信
微博
QQ