博客列表 >数组处理函数和PDO 数据库连接入门

数组处理函数和PDO 数据库连接入门

ccc9112020
ccc9112020原创
2020年11月26日 19:29:21728浏览
  1. 键名相关处理函数

    1. $arr=['id'=>'A','name'=>'ccc'];
    2. // 1.1 key($arr) 输出当前键名
    3. echo key($arr);
    4. // 输出结果是 id
    5. // 1.2 next() 把指针移到数组下一个键
    6. while(key($arr)){
    7. $keys[]=key($arr);
    8. next($arr);
    9. }
    10. echo '<br>';
    11. print_r($arr);
    12. echo '<br>';
    13. // 输出结果是 Array ( [id] => A [name] => ccc )
    14. // 1.3 reset($arr) key指针复位
    15. // 1.4 array_keys($arr) 返回数组,数组成员是原数组的键名
    16. print_r(array_keys($arr));
    17. // Output: Array ( [0] => id [1] => name )
    18. echo '<br>';
    19. // array_values($arr) 返回键值数组,不返回键名
    20. print_r(array_values($arr));
    21. // Output:Array ( [0] => A [1] => ccc )
    22. echo '<br>';
    23. // in_array(),指定成员是否是数组成员的键值,键名不算
    24. var_dump(in_array('css',$arr));
    25. // output:boolean false
    26. var_dump(in_array('ccc',$arr));
    27. // output:boolean true
    28. var_dump(in_array('name',$arr));
    29. // output:boolean false
    30. // array_search() ,查找成员是否在数组中,如果存在返回键名,不存在返回false
    31. var_dump(array_search('ccc',$arr));
    32. //output: string 'name' (length=4)
    33. var_dump(array_search('name',$arr));
    34. //output:boolean false
    35. echo '<br>';
    36. // array_unique(),移除重复的值
    37. $age=array_unique([1,2,3,4,5,6,7,8,4,5,6,7,8,9,10]);
    38. print_r($age);
    39. echo '<br>';
    40. // output:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [13] => 9 [14] => 10 )
    41. print_r(array_values($age));
    42. //output: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
    43. // array_sum(),返回数组中成员的和:
    44. var_dump(array_sum([1,2,3,4]));
    45. // output:10
    46. var_dump(array_sum([1,2,3,4,'1a']));
    47. // output:11
    48. var_dump(array_sum([1,2,3,4,'a1']));
    49. //output:10
    50. // array_product:返回数组成员的积
    51. var_dump(array_product([1,2,3,4]));
    52. // output:24
  2. 数组的拆分和合并

    1. // array_slice():从数组中去除一部分
    2. $stu=['id'=>101,'name'=>'ccc','age'=>60,'course'=>'php'];
    3. print_r($stu);
    4. echo '<br>';
    5. print_r(array_slice($stu,-2,2));
    6. // output:Array ( [age] => 60 [course] => php )
    7. echo '<br>';
    8. // array_splice(),修改原数组,可以增加,删除,修改,插入
    9. // array_splice()删除
    10. $arr=[1,2,3,4,5,5];
    11. var_dump($arr);
    12. print_r(array_splice($arr,1,2));
    13. // output:Array ( [0] => 2 [1] => 3 )
    14. echo '<br>';
    15. print_r($arr);
    16. // output: Array ( [0] => 1 [1] => 4 [2] => 5 [3] => 5 )
    17. echo '<br>';
    18. echo 'array_splice()替换'.'<br>';
    19. $arr=[1,2,3,4,5,6];
    20. print_r($arr);
    21. echo '<br>';
    22. // output:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
    23. // array_splice()替换
    24. print_r(array_splice($arr,1,2,[888,999]));
    25. // output:Array ( [0] => 2 [1] => 3 )
    26. echo '<br>';
    27. print_r($arr);
    28. // output:Array ( [0] => 1 [1] => 888 [2] => 999 [3] => 4 [4] => 5 [5] => 6 )
    29. echo '<br>';
    30. // array_splice()新增
    31. print_r(array_splice($arr,1,0,[222,333]));
    32. // output:Array ( )
    33. echo '<br>';
    34. print_r($arr);
    35. // output:Array ( [0] => 1 [1] => 222 [2] => 333 [3] => 888 [4] => 999 [5] => 4 [6] => 5 [7] => 6 )
    36. echo '<br>extract()'.'<br>';
    37. // extract() 将关联数组拆分成多个变量
    38. $config=['type'=>'mysql','host'=>'localhost','dbname'=>'phpedu','charset'=>'utf8'];
    39. echo extract($config);
    40. // output:4
    41. echo '<br>';
    42. echo "type:$type|host:$host|dbname:$dbname|charset:$charset".'<br>';
    43. // output:type:mysql|host:localhost|dbname:phpedu|charset:utf8
    44. // compact() 将变量组成关联数组
    45. echo 'compact()<br>';
    46. print_r(compact('type','host','dbname','charset'));
    47. echo '<br>';
  3. 栈和队列
    栈是一种特殊的线性表,只能够在一头添加.
    我以前上课的时候,栈只能够一端进出.遵循后进先出(Last In First Out,LIFO)的规则.把栈描述为一个下面不开口的垂直容器譬如杯子,添加数据称为进栈或者是压栈.最后进的最先出.使用的进栈函数是 push(),出栈函数是 pop().
    js 和 PHP 新增 unshift()和 shift()函数.是用于在另一端操作的函数.unshift()添加数据,shift()移除数据,称为 FIFO(First In First Out).
    可以理解成 push()和 pop()操作栈顶,unshift()和 shift()操作栈底.
    如下两图.头部或者是底部对应的是 arr[0],也就是下标为零的数组元素.而尾部或者是顶部对应的是数组指针最后的数组元素.

    1. // 3. 栈和队列
    2. echo '<h2 style="color:red">栈和队列</h2>'.'<br>';
    3. $stack=[1,2,3];
    4. // 栈的头部增加
    5. print_r(array_unshift($stack,4));
    6. // output:4
    7. echo '<br>';
    8. print_r($stack);
    9. // output: Array ( [0] => 4 [1] => 1 [2] => 2 [3] => 3 )
    10. echo '<br>';
    11. print_r(array_unshift($stack,4,5,6,7));
    12. // output:8
    13. echo '<br>';
    14. print_r($stack);
    15. // output:Array ( [0] => 4 [1] => 5 [2] => 6 [3] => 7 [4] => 4 [5] => 1 [6] => 2 [7] => 3 )
    16. echo '<br>';
    17. echo array_shift($stack);
    18. // output:4
    19. echo '<br>';
    20. print_r($stack);
    21. // output:Array ( [0] => 5 [1] => 6 [2] => 7 [3] => 4 [4] => 1 [5] => 2 [6] => 3 )
    22. echo '<br>';
    23. $stack=[];
    24. print_r($stack);
    25. // output:Array ( )
    26. echo '<br>';
    27. print_r(array_push($stack,1,2,3,5));
    28. // output:4
    29. echo '<br>';
    30. print_r($stack);
    31. // output:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 5 )
    32. echo '<br>';
    33. echo array_pop($stack);
    34. // output:5
    35. echo '<br>';
    36. print_r($stack);
    37. // output:Array ( [0] => 1 [1] => 2 [2] => 3 )
  4. PDO数据库连接
    PDO 数据库连接三要素:DSN 数据源,username,password.
    数据库操作要用 trycatch 捕捉异常.
    1. //printf系列函数,格式化输出函数.
    2. // s开头的printf只返回不输出,v开头的printf参数是数组
    3. //var_export()第二个参数为true时只返回不输出
    4. $dsn=sprintf('%s:hostname=%s;dbname=%s',$dbtype,$host,$dbname);
    5. try{
    6. $pdo=new PDO($dsn,$username,$password);
    7. }catch(\Exception $e){
    8. die($e->getMessage());
    9. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议