加密相关

1、md5加密

在 common.php 文件中写
image.png

  1. // 应用公共文件
  2. if(!function_exists('encrypt_password')){
  3. //密码加密函数
  4. function encrypt_password($string)
  5. {
  6. //加盐
  7. $salt = 'sanelm4lkmfds3prrf';
  8. return md5($salt . md5($string));
  9. }
  10. }

数组相关

1、数组自定义排序

  1. <?php
  2. //这个是两个字段的排序,是按照从小到大排的。先比较name字段,再比较age字段
  3. //如何实现从小到大? 一定要参数1大于参数2的时候返回1
  4. function my_sort($oba, $obb){
  5. if (is_object($oba) && is_object($obb)){
  6. //如果是对象
  7. if($oba->name > $obb->name){
  8. return 1;
  9. }elseif ($oba->name == $obb->name){
  10. return ($oba->age >= $obb->age) ? 1 : -1;
  11. }else{
  12. return -1;
  13. }
  14. }
  15. if (is_array($oba) && is_array($obb)){
  16. //如果是数组
  17. if($oba['name'] > $obb['name']){
  18. return 1;
  19. }elseif ($oba['name'] == $obb['name']){
  20. return ($oba['age'] >= $obb['age']) ? 1 : -1;
  21. }else{
  22. return -1;
  23. }
  24. }
  25. }
  26. $info = array(['name'=>'2、学习','age'=>33],['name'=>'1、加油','age'=>88]);
  27. usort($info,'my_sort');
  28. var_dump($info);
  1. //排序 从小到大
  2. usort($children ,function ($obj1,$obj2){
  3. return $obj1['server_filename'] > $obj2['server_filename'] ? 1 : -1;
  4. });

2、过滤数组

因为匿名函数无法使用外部的参数,所以要加上 use关键字

  1. $children = array_filter($arr,function ($obj) use($pid){
  2. return $obj['parent_path'] == $pid;
  3. });

3、数组转字符串,与字符串转数组

implode 使用一个字符串将数组变成字符串

  1. <?php
  2. $array = array('lastname', 'email', 'phone');
  3. $comma_separated = implode(",", $array);
  4. echo $comma_separated; // lastname,email,phone
  5. // Empty string when using an empty array:
  6. var_dump(implode('hello', array())); // string(0) ""
  7. ?>

explode — 使用一个字符串分割另一个字符串,返回一个数组

  1. <?php
  2. // 示例 1
  3. $pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
  4. $pieces = explode(" ", $pizza);
  5. echo $pieces[0]; // piece1
  6. echo $pieces[1]; // piece2
  7. // 示例 2
  8. $data = "foo:*:1023:1000::/home/foo:/bin/sh";
  9. list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
  10. echo $user; // foo
  11. echo $pass; // *
  12. ?>

4、判断数组存在某个键

如果键存在返回true

第一种

  1. array_key_exists($key, $array)

第二种

  1. isset($array[$key])

字符串相关

1、字符串重复打印

  1. <?php
  2. //字符串
  3. $str= "hello,PHP!";
  4. //将上述字符串重复10次
  5. echo str_repeat($str, 10);

2、换行打印

1、控制台打印输出

PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性:

  • unix系列用 \n
  • windows系列用 \r\n
  • mac用 \r
    1. <?php
    2. echo PHP_EOL;
    3. //windows平台相当于 echo "\r\n";
    4. //unix\linux平台相当于 echo "\n";
    5. //mac平台相当于 echo "\r";
    6. ?>

    2、网页的情况

    直接打印
    即可
    1. echo "{$key}<br><br>";

    3、字符串拼接变量

    ```php <?php $msg = “hello”; //1、普通的拼接 echo $msg.” Tom”; echo PHP_EOL;

//2、必须双引号才可以解析 echo “{$msg} Tom”;

  1. <a name="bYAO2"></a>
  2. # 数字相关
  3. <a name="wbfpm"></a>
  4. ## 1、PHP保留两位小数的几种方法
  5. ```php
  6. $num = 10.4567;
  7. //第一种:利用round()对浮点数进行四舍五入
  8. echo round($num,2); //10.46
  9. //第二种:利用sprintf格式化字符串
  10. $format_num = sprintf("%.2f",$num);
  11. echo $format_num; //10.46
  12. //第三种:利用千位分组来格式化数字的函数number_format()
  13. echo number_format($num, 2); //10.46
  14. //或者如下
  15. echo number_format($num, 2, '.', ''); //10/46

循环相关

1、遍历数组(只能查看)

  1. <?php
  2. $array = array(
  3. array("name"=>"张三1","age"=>14,"sex"=>"男"),
  4. array("name"=>"张三2","age"=>14,"sex"=>"男"),
  5. array("name"=>"张三3","age"=>14,"sex"=>"男")
  6. );
  7. foreach ($array as $key => $value)
  8. {
  9. echo $value['name'].PHP_EOL;
  10. }

2、遍历数组,并且修改值

for

  1. <?php
  2. $array = array(
  3. array("name"=>"张三1","age"=>14,"sex"=>"男"),
  4. array("name"=>"张三2","age"=>14,"sex"=>"男"),
  5. array("name"=>"张三3","age"=>14,"sex"=>"男")
  6. );
  7. for ($i=0; $i<count($array); $i++)
  8. {
  9. $array[$i]['name'] = "王五".$i;
  10. }
  11. var_dump($array);

foreach

  1. foreach($array as $k => $v){
  2.   $array[$k] = 1;
  3. }
  4. 虽然$k$v一样也是拷贝的,但拷贝的$k的值还是和原数组的$k的值是一样的,所以这样就可以成功了。

一种比较高级的方法:可以很容易地通过在 $v 之前加上 & 来修改数组的元素。此方法将以引用赋值而不是拷贝一个值。例如:

  1. foreach($array as &$v){
  2.   $v = 1;
  3. }
  4. unset($v); // 最后取消掉引用

文件相关

1、写入字符串到文件(自动创建文件,不创建文件夹)

  1. <?php
  2. //字符串
  3. $str= ' aaa123 ';
  4. $str = $str.'456'.PHP_EOL;
  5. $str = $str.'abc';
  6. echo $str;
  7. file_put_contents('./1.txt',$str); //默认覆盖
  8. file_put_contents('./1.txt',$str,FILE_APPEND); //追加