加密相关
1、md5加密
在 common.php 文件中写
// 应用公共文件if(!function_exists('encrypt_password')){//密码加密函数function encrypt_password($string){//加盐$salt = 'sanelm4lkmfds3prrf';return md5($salt . md5($string));}}
数组相关
1、数组自定义排序
<?php//这个是两个字段的排序,是按照从小到大排的。先比较name字段,再比较age字段//如何实现从小到大? 一定要参数1大于参数2的时候返回1function my_sort($oba, $obb){if (is_object($oba) && is_object($obb)){//如果是对象if($oba->name > $obb->name){return 1;}elseif ($oba->name == $obb->name){return ($oba->age >= $obb->age) ? 1 : -1;}else{return -1;}}if (is_array($oba) && is_array($obb)){//如果是数组if($oba['name'] > $obb['name']){return 1;}elseif ($oba['name'] == $obb['name']){return ($oba['age'] >= $obb['age']) ? 1 : -1;}else{return -1;}}}$info = array(['name'=>'2、学习','age'=>33],['name'=>'1、加油','age'=>88]);usort($info,'my_sort');var_dump($info);
//排序 从小到大usort($children ,function ($obj1,$obj2){return $obj1['server_filename'] > $obj2['server_filename'] ? 1 : -1;});
2、过滤数组
因为匿名函数无法使用外部的参数,所以要加上 use关键字
$children = array_filter($arr,function ($obj) use($pid){return $obj['parent_path'] == $pid;});
3、数组转字符串,与字符串转数组
implode 使用一个字符串将数组变成字符串
<?php$array = array('lastname', 'email', 'phone');$comma_separated = implode(",", $array);echo $comma_separated; // lastname,email,phone// Empty string when using an empty array:var_dump(implode('hello', array())); // string(0) ""?>
explode — 使用一个字符串分割另一个字符串,返回一个数组
<?php// 示例 1$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";$pieces = explode(" ", $pizza);echo $pieces[0]; // piece1echo $pieces[1]; // piece2// 示例 2$data = "foo:*:1023:1000::/home/foo:/bin/sh";list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);echo $user; // fooecho $pass; // *?>
4、判断数组存在某个键
第一种
array_key_exists($key, $array)
第二种
isset($array[$key])
字符串相关
1、字符串重复打印
<?php//字符串$str= "hello,PHP!";//将上述字符串重复10次echo str_repeat($str, 10);
2、换行打印
1、控制台打印输出
PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性:
- unix系列用 \n
- windows系列用 \r\n
- mac用 \r
<?phpecho PHP_EOL;//windows平台相当于 echo "\r\n";//unix\linux平台相当于 echo "\n";//mac平台相当于 echo "\r";?>
2、网页的情况
直接打印
即可echo "{$key}<br><br>";
3、字符串拼接变量
```php <?php $msg = “hello”; //1、普通的拼接 echo $msg.” Tom”; echo PHP_EOL;
//2、必须双引号才可以解析 echo “{$msg} Tom”;
<a name="bYAO2"></a># 数字相关<a name="wbfpm"></a>## 1、PHP保留两位小数的几种方法```php$num = 10.4567;//第一种:利用round()对浮点数进行四舍五入echo round($num,2); //10.46//第二种:利用sprintf格式化字符串$format_num = sprintf("%.2f",$num);echo $format_num; //10.46//第三种:利用千位分组来格式化数字的函数number_format()echo number_format($num, 2); //10.46//或者如下echo number_format($num, 2, '.', ''); //10/46
循环相关
1、遍历数组(只能查看)
<?php$array = array(array("name"=>"张三1","age"=>14,"sex"=>"男"),array("name"=>"张三2","age"=>14,"sex"=>"男"),array("name"=>"张三3","age"=>14,"sex"=>"男"));foreach ($array as $key => $value){echo $value['name'].PHP_EOL;}
2、遍历数组,并且修改值
for
<?php$array = array(array("name"=>"张三1","age"=>14,"sex"=>"男"),array("name"=>"张三2","age"=>14,"sex"=>"男"),array("name"=>"张三3","age"=>14,"sex"=>"男"));for ($i=0; $i<count($array); $i++){$array[$i]['name'] = "王五".$i;}var_dump($array);
foreach
foreach($array as $k => $v){$array[$k] = 1;}虽然$k和$v一样也是拷贝的,但拷贝的$k的值还是和原数组的$k的值是一样的,所以这样就可以成功了。
一种比较高级的方法:可以很容易地通过在 $v 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。例如:
foreach($array as &$v){$v = 1;}unset($v); // 最后取消掉引用
文件相关
1、写入字符串到文件(自动创建文件,不创建文件夹)
<?php//字符串$str= ' aaa123 ';$str = $str.'456'.PHP_EOL;$str = $str.'abc';echo $str;file_put_contents('./1.txt',$str); //默认覆盖file_put_contents('./1.txt',$str,FILE_APPEND); //追加
