php学习笔记-php数组的创建和使用,数组常用函数-day03

news2024/11/19 9:29:30

php数组的创建和使用,数组常用函数

  • 数组的概念
  • 一维数组的创建和使用
    • 1.直接将变量声明为数组元素
    • 2.通过array()函数来创建一维数组
    • 3.数组的元素值的访问
    • 4.数组元素的赋值方式
    • 5.数组的注意事项
  • 二维数组的创建和使用
    • 1.二维数组的创建
    • 2.二维数组的数组元素值访问
    • 3.二维元素的数组元素赋值
  • 数组的常用函数
    • 1.快速创建数组的函数
    • 2.数组统计函数
    • 3.数组指针函数
    • 4.数组和变量间的转换函数
    • 5.数组遍历的常用函数
    • 6.数组检索函数
    • 7.数组排序函数
    • 8.数组集合运算函数
    • 9.php数组提供的数据结构函数(栈,队列)

数组的概念

  • 数组是一组批量的数据存储空间,且这一段空间是连续的,每个存储空间都存储了一个数组元素。
  • 元素之间通过使用 “键” 来识别,通过数组名和 “键” 来组合访问。
  • php中的数组的键值可以是字符型,整型,浮点型,布尔型,对象 也可以嵌套数组形成二维数组。
  • 但是一般情况下,为了便于调试和开发,数组的键大多都是字符型和整型(太灵活随意了也不好,还得严格一点)。
  • php中的数组可以自由扩充大小。

一维数组的创建和使用

1.直接将变量声明为数组元素

    1. 不指定元素的键,则默认键名从0开始递增
    <?php 
    	$colors[] =["black","blue","yellow"];
    	var_dump($colors);
    ?>
    

    在这里插入图片描述

  • 2.在声明时指定元素的键 通过 键=>值的方式

    <?php
    	// 这里实际上是将这5个元素全部都填充到了数组的第一维,后面如果添加的话,就会使数组变成多维数组
    	$peoples[] = ["p1"=>"张三","p2"=>"李四","p3"=>"王五","p4"=>false,"p5"=>null];
    	var_dump($peoples);
    ?>
    

    在这里插入图片描述
    如果添加数组元素时不指定键,则默认使用当前数组中的已有元素最大整数键上面加1。

    	<?php 
    		//上面一开始初始化数组时,相当于 0=>[5个元素],所以这一次应该是 1=>["白一"]
    		$peoples[] = "白一";
    		// 现在其实已经变成了三维数组
    		$peoples["p6"] = "猴六";
    		var_dump($peoples);
    	?>
    

    在这里插入图片描述
    下面是在同一维数组中,添加数组元素:

    <?php 
    	$names["name1"] = "夜雨声烦";
    	$names["name2"] = "大漠孤烟";
    	$names["name3"] = "一叶知秋";
    	$names["name4"] = "长河落日";
    	var_dump($names);
    	$names["addName"] = "魔欲乘风";
    	var_dump($names);
    ?>
    

    在这里插入图片描述
    在这里插入图片描述

2.通过array()函数来创建一维数组

array()函数可以用键值对的方式并且以逗号分隔来对数组初始化 ,array(“key”=>“value”,“key”=>“value”,);

	<?php
	$humans = array("h1"=>"张三","h2"=>"李四","h3"=>"王五","h4"=>"赵六","h5"=>"马奇");
	var_dump($humans);
	//这里你就能看到与上面自己手动初始化的不同了
	// 使用array()函数,默认是在一个一维数组里面添加
	$humans["h6"] = "猴六";
	var_dump($humans);
	?>

在这里插入图片描述
在这里插入图片描述
使用array()函数,默认是在一个一维数组里面添加(末尾追加的方式)

3.数组的元素值的访问

通过 $数组名[键名] 的方式来访问数组元素

	<?php
		$arr_test = array("demo1"=>"zhang","demo2"=>"san");
		var_dump($arr_test["demo1"]);//string(5) "zhang"
	?>

4.数组元素的赋值方式

在php数组中,数组元素的赋值也和变量一样,分为两种传值赋值传地址赋值

  • 1.传值赋值

    传值方式不会改变原本的数组内容

    <?php
    	$src_arr = array("t1"=>"demo1","t2"=>"demo2");
    	var_dump($src_arr); // array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}
    	$dest_arr = $src_arr;
    	var_dump($dest_arr);// array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}
    	$dest_arr["t1"] = "t1";
    	var_dump($src_arr);// array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}
    	var_dump($dest_arr);// array(2) {["t1"]=> string(2) "t1" ["t2"]=> string(5) "demo2"}
    ?>
    
  • 2.传地址赋值

    传地址方式会改变原有的数组内容

    <?php 
    	$src_arr1 =  array("t1"=>"demo1","t2"=>"demo2");
    	$dest_arr1 = &$src_arr1;
    	var_dump($src_arr1);//array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}
    	var_dump($dest_arr1);//array(2) {["t1"]=> string(5) "demo1" ["t2"]=> string(5) "demo2"}
    	$dest_arr1["t1"] = "t1";
    	var_dump($src_arr1);//array(2) {["t1"]=> string(2) "t1" ["t2"]=> string(5) "demo2"}
    	var_dump($dest_arr1);//array(2) {["t1"]=> string(2) "t1" ["t2"]=> string(5) "demo2"}
    ?>
    

5.数组的注意事项

数组的注意事项:

  • 如果数组元素的键是一个浮点数,那么它会被强制转换为整数。比如 1.3 --> 1 。如果是布尔型,则 true -> 1,false ->0
  • 如果数组元素的键是一个字符串,且它的内容就是一个数字,则它会被强制转换为整型的数字( “123.5” -> 123)
  • 数组元素的键是唯一的,不能重复,如果重复则会覆盖之前的内容
  • 数组元素的键,要尽量避免使用未定义的常量和变量,因为其底层php预处理器会将这些未定义的变量和常量转换为字符串,浪费资源,且可读性不高

二维数组的创建和使用

二维数组的创建,其实就是嵌套使用array()函数,然后其数组元素的访问和赋值与一维数组是一模一样的过程。

1.二维数组的创建

嵌套使用array()函数,生成二维数组。

<?php
	$ds_array = array("st1"=>array("姓名"=>"叶秋","性别"=>"男"),"st2"=>array("姓名"=>"小白","性别"=>"女"));
	var_dump($ds_array);
?>

2.二维数组的数组元素值访问

二维数组值的访问,就是 $数组名[行][列] $数组名[一维键名][二维键名]

<?php
	$ds_array = array("st1"=>array("姓名"=>"叶秋","性别"=>"男"),"st2"=>array("姓名"=>"小白","性别"=>"女"));
	var_dump($ds_array);
	var_dump($ds_array["st1"]);// array(2) { ["姓名"]=> string(6) "叶秋"  ["性别"]=> string(3) "男"}
	var_dump($ds_array["st1"]["姓名"]);//string(6) "叶秋"
?>

3.二维元素的数组元素赋值

二维数组的数组元素赋值,和一维数组是一模一样的,我就简单的举几个例子

<?php
	$ds_array = array("st1"=>array("姓名"=>"叶秋","性别"=>"男"),"st2"=>array("姓名"=>"小白","性别"=>"女"));
	$ds_array["st1"] = array("姓名"=>"张三","性别"=>"男");
	$ds_array["st3"] = array("姓名"=>"吕小布","性别"=>"男");
	$ds_array["st2"]["姓名"] = "黄月英";
	var_dump($ds_array);
?>

传值和传地址赋值也是和一维数组一模一样,就pass掉啦。

传地址赋值会导致原本的数组内容发改变,同一个数组被两个变量指向,传值赋值不会,它相当于是一个副本copy.

数组的常用函数

php数组十分灵活和强大,它的键值可以是多种类型,而且它的键可以是连续或者不连续的。php为数组提供了丰富且功能强大的数组处理函数。(API调用工程师,哈哈哈)。

1.快速创建数组的函数

函数名语法格式功能
range()array range(mixed start,mixed end)快速创建一个从start到end范围的数字数组或字符数组
explode()array explode(string separator,string str)使用指定的字符串分隔符分割字符串,将得到的子串放到数组中
array_combine()array array_combine(array keys,array values)创建一个新的数组,将数组keys的值作为新数组的键,将数组valus的值作为新数组的值
array_fill()array array_fill(int start_key, int length ,mixed value)创建一个数组,将该数组填充length个数组元素,数组元素的键从start_key 开始递增,数组元素的值为value
array_pad()array array_pad(array array, int length, mixed value)返回array 数组的一个副本,然后使用value去填充到length指定的长度,如果length为正数则填充到右侧,为负数则从左侧开始填充,如果length 小于或者等于array的长度,则不进行填充

2.数组统计函数

函数名语法格式功能
count()int count(Countable array $value, int $mode = COUNT_NORMAL)统计array中元素的个数并且返回, COUNT_NORMAL默认是0,只计算第一维度的元素个数,如果将其改为1,则会递归计算当前多维数组中的所有元素
max()mixed max(array arr [,array…])统计并计算数组arr中的最大值
min()mixed min(array arr [,array…])统计并计算数组arr中的最小值
array_sum()number array_sum(array arr)统计并计算数组arr中的所有元素值的和,返回类型为整型或者浮点型数值
array_product()number array_product(array arr)统计并计算数组arr中所有元素值的乘积,返回类型为整型或者浮点数

3.数组指针函数

php为每一个创建的数组,都建立了一个对应的“内部指针系统”。“内部指针系统”会为每一个新建的php数组,自动的建立一个“当前指针”指向数组的第一个元素,每个元素内部有一个指针(next)指向下一个元素,一个指针(prev)指向上一个元素。

函数名语法格式功能
key()mixed key(array &arr)返回数组arr中“当前指针”所指元素的“键名”
current()mixed current(array &arr)返回数组arr中“当前指针”所指元素的“值”
next()mixed next(array &arr)移动数组arr“当前指针”,使当前指针指向数组arr的下一个元素,然后返回“当前指针”所指的元素“值”
end()mixed end(array &arr)移动数组arr“当前指针”,使当前指针指向数组arr的最后一个元素,然后返回“当前指针”所指的元素“值”
prev()mixed prev(array &arr)移动数组arr“当前指针”,使当前指针指向数组arr的上一个元素,然后返回“当前指针”所指的元素“值”
reset()mixed reset(array &arr)移动数组arr“当前指针”,使当前指针指向数组arr的第一个元素,然后返回“当前指针”所指的元素“值”
each()mixed each(array &arr)以数组的形式返回“当前指针”所指的元素(键名和值),然后移动数组arr“当前指针”,使当前指针指向数组arr的下一个元素

4.数组和变量间的转换函数

函数名语法格式功能
list()void list(mixed varname1 [,mixed varname2 [,mixed…]]) = array arr用一步操作给一组变量赋值,list()语言结构中定义变量名varname1,varname2…变量值在数组arr中
extract()int extract(array arr )使用数组arr定义一组变量,其中变量名为数组arr元素的键名,变量值为数组arr元素键对应的值。
compact()array compact( mixed varname1 [,mixed varname2 [,mixed…]])返回一个数组,数组每个元素的键名为变量名varname1,varname2…,每个数组元素的值为变量varname1,varname2…的值

5.数组遍历的常用函数

  • foreach(array as v a l u e ) 每次循环中,“当前指针”所指元素的“值”赋给变量 value) 每次循环中,“当前指针”所指元素的“值”赋给变量 value)每次循环中,当前指针所指元素的赋给变量value,然后移动数组array的指针,使“当前指针”指向下一个元素,直至数组array中的最后一个元素(最后一个元素的当前指针为空)。

  • foreach(array as k e y = > key=> key=>value)
    每次循环中,“当前指针”所指元素的键名赋给变量 k e y , 元素的“值”赋给变量 key,元素的“值”赋给变量 key,元素的赋给变量value,然后移动数组array的指针,使“当前指针”指向下一个元素,直至数组array中的最后一个元素(最后一个元素的当前指针为空)。

<?php
$info =array('coffee','tea','water');
foreach ($info as $value){
   echo $value."     ";//coffee     tea     water    
}

foreach ($info as $key=>$value){
    echo $key."=>".$value."      ";//0=>coffee      1=>tea      2=>water     
}
?>

6.数组检索函数

函数名语法格式功能
array_keys()array array_keys( array arr [,mixed searchValue])以数组的形式返回arr数组中的所有键名。如果指定了可选参数searchValue,则只返回searchValue对应的键名(如果searchValue是字符串,则会区分大小写)。
array_values()array array_values(array arr)以数组的形式返回数组arr中所有的元素值(过滤掉数组arr中重复的元素值),且新的数组的键为连续的整数。
in_array()bool in_array( mixed searchValue, array arr [,bool strict])在数组arr中搜索给定的(searchValue)值,如果找到则返回true,否则返回false.第三个参数默认值为false,如果改为true,则还会确认找到的字符串和搜索的字符串是否类型一致。
array_key_exists()bool array_key_exists(mixed keyName,array arr)检查数组arr中是否存在键名keyName,如果存在返回true,否则返回false
array_search()mixed array_search( mixed searchValue, array arr [,bool strict])在数组arr中搜索给定的(searchValue)值,如果找到则返回对应的键名,否则返回false.第三个参数默认值为false,如果改为true,则还会确认找到的字符串和搜索的字符串是否类型一致。
array_unique()array array_unique( array arr)移除数组arr中重复元素值的数组元素,并返回移除重复数组元素值的新数组

7.数组排序函数

函数名语法格式功能
sort()bool sort(array &arr)按照元素值的升序对数组arr进行排序,如果排序成功则返回true,否则返回false.sort()函数排序后,数组arr的键会变成整数递增的键
asort()bool asort(array &arr)按照元素值的升序对数组arr进行排序,并且保持其数组原有的“键值对”对应关系不变
rsort()bool rsort(array &arr)按照元素值的降序对数组arr进行排序,如果排序成功则返回true,否则返回false.rsort()函数排序后,数组arr的键会变成整数递增的键
arsort()bool arsort(array &arr)按照元素值的降序对数组arr进行排序,并且保持其数组原有的“键值对”对应关系不变
ksort()bool ksort(array &arr)对数组arr按照键名升序排序,并且保持数组元素原有的“键值对”对应关系不变,如果排序成功则返回true,否则返回false
krsort()bool krsort(array &arr)对数组arr按照键名降序排序,并且保持数组元素原有的“键值对”对应关系不变,如果排序成功则返回true,否则返回false
natsort()bool natsort(array &arr)自然排序,对数组arr元素值进行升序排序,并且保持数组元素原有的“键值对”对应关系不变
natcasesort()bool natcasesort(array &arr)自然排序,对数组arr元素值进行不区分字母大小写的升序排序,并且保持数组元素原有的“键值对”对应关系不变
shuffle()bool shuffle(array &arr)为数组arr进行随机排序,且随机排序后数组arr的键名发生改变
array_reverse()array array_reverse(array arr [,bool preserve_keys])返回一个和数组arr元素顺序相反的新数组,如果preserve_keys为true则保持数组原有的“键值对”对应关系不变

8.数组集合运算函数

函数名语法格式功能
array_merage()array array_merage(array arr1 [,array arr2 [,array …]])将数组arr1,arr2…等数组合并成为一个新的数组。如果元素的键名相同,则后面数组的元素值覆盖掉前面数组的元素值,若元素的键名相同,且其为数字则不进行覆盖,而是原样末尾追加到新数组中。
array_diff()array array_diff(array arr1 [,array arr2 [,array …]])返回一个新数组,新数组中元素的是在arr1数组中且不在其他任何参数数组中的元素(集合的差集运算)
array_intersect()array array_intersect(array arr1 [,array arr2 [,array …]])返回一个新数组,新数组中元素的是既在arr1中又在arr2等数组中出现的元素(集合的交集运算)
array_diff_assoc()array array_diff_assoc(array arr1 [,array arr2 [,array …]])返回一个新数组,新数组中的元素是在arr1数组中,但不在其他任何参数数组中的元素(集合的差集运算)
array_intersect_assoc()array array_intersect_assoc(array arr1 [,array arr2 [,array …]])返回一个新数组,新数组中的元素是既在arr1中又在arr2等数组中出现的元素(集合的交集运算)
array_diff_key()array array_diff_key(array arr1 [,array arr2 [,array …]])返回一个新数组,新数组中的元素的是在arr1但不在其他任何参数数组中的元素(集合的差集运算)
array_intersect_key()array array_intersect_key( array arr1 [,array arr2 [,array …]])返回一个新数组,新数组中的元素的是既在arr1中也在arr2等数组中出现的元素键(集合的交集运算)

9.php数组提供的数据结构函数(栈,队列)

函数名语法格式功能
array_push()int array_push(array &arr,mixed var1[,mixed var2[,mixed …]])将数组arr当作一个栈,并且将var1,var2依次压入栈,最后返回新数组(栈)中的元素个数。
array_pop()mixed array_pop(array &arr)弹出该数组的最后一个元素并且返回该元素值
array_unshift()int array_unshift(array &arr,mixed var1[,mixed var2[,mixed …]])将数组arr当作一个队列,并且将参数var1,var2依次插入队列中。返回入队元素个数(队列先进先出)
array_shift()mixed array_shift()删除数组arr的第一个元素,并返回该元素值,如果为空则返回null。 (队列的删除,从头开始删除)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/147926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArcGIS基础实验操作100例--实验67设置标注样式

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验67 设置标注样式 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

Java+Swing可视化图像处理软件

JavaSwing可视化图像处理软件一、系统介绍二、功能展示1.图片裁剪2.图片缩放3.图片旋转4.图像灰度处理5.图像变形6.图像扭曲7.图像移动三、项目相关3.1 乱码问题3.2 如何将GBK编码系统修改为UTF-8编码的系统&#xff1f;四、其它1.其他系统实现2.获取源码一、系统介绍 该系统实…

Allegro174版本新功能介绍之和172版本兼容设置

Allegro174版本新功能介绍之和172版本兼容设置 Allegro升级到了174版本的时候,如果按照常规操作用174版本保存PCB之后,用172版本是无法打开的。 但是174版本开放了一个和172版本兼容的窗口,即便是174版本保存了PCB,172同样还是能够打开 具体操作如下 选择Setup选择User p…

[Linux]git命令行

&#x1f941;作者&#xff1a; 华丞臧. &#x1f4d5;​​​​专栏&#xff1a;【LINUX】 各位读者老爷如果觉得博主写的不错&#xff0c;请诸位多多支持(点赞收藏关注)。如果有错误的地方&#xff0c;欢迎在评论区指出。 推荐一款刷题网站 &#x1f449; LeetCode刷题网站 文…

前端入门笔记 05 —— js基础

基于ES6 生成html文件&#xff0c;script标签引入js文件 简单语句直接用console面板 <!DOCTYPE html> <html><head><title>js核心语法</title><meta charset"UTF-8" /></head><body><script src "./1.5j…

多线程(4)

文章目录1.单例模式2. 阻塞队列3. 定时器4.线程池前言 :   前面的一些文章&#xff0c;我们已经将有关多线的基础知识了解了&#xff0c; 下面我们来写一些关于多线程的代码案例&#xff0c;来强化对多线程的理解&#xff0c;另外通过这些案例补充一下其他方面的知识。 1.单例…

印度如何在云计算中抓住千载难逢的机会

云对印度的影响大流行和后大流行时期的虚拟和混合世界越来越依赖于云&#xff0c;并随之提高灵活性、敏捷性和创新性。在这场快速的数字化转型中&#xff0c;印度企业也纷纷加入云解决方案以促进业务增长。NASSCOM-EY的调查显示&#xff0c;78%的印度IT公司、53%的医疗保健和BF…

【Javascript】数字和字符串常用方法

数字常用方法&#xff1a; toFixed&#xff1a;保留小数位数&#xff0c;不够自动补0. 注意&#xff1a;返回值是字符串&#xff0c;不能和数字直接相加减&#xff0c;需要把字符串转化为数字&#xff1a;-0即可 取整&#xff1a; // round:四舍五入取整console.log(Math.roun…

SQL IN 操作符

IN 操作符 IN 操作符允许您在 WHERE 子句中规定多个值。 SQL IN 语法 SELECT column1, column2, ... FROM table_name WHERE column IN (value1, value2, ...); 参数说明&#xff1a; column1, column2, ...&#xff1a;要选择的字段名称&#xff0c;可以为多个字段。如果…

STM32——USART串口

文章目录一、通信接口二、串口通信三、硬件电路四、电平标准五、串口参数及时序六、STM32的USART外设简介七、USART框图八、USART基本结构九、数据帧十、起始位侦测和采样位置对齐十一、数据采样十二、波特率发生器十三、数据模式十四、串口发送电路设计关键代码USART_SendData…

基于Java+Swing+mysql眼镜店管理系统

基于JavaSwingmysql眼镜店管理系统一、系统介绍二、功能展示1.管理员登陆2.眼镜信息查询3.眼镜信息添加4.眼镜信息修改5.眼镜信息删除三、项目相关3.1 乱码问题3.2 如何将GBK编码系统修改为UTF-8编码的系统&#xff1f;四、其它1.其他系统实现2.获取源码一、系统介绍 该系统实…

Linux常用命令——find命令

在线Linux命令查询工具 find 在指定目录下查找文件 补充说明 find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时&#xff0c;不设置任何参数&#xff0c;则find命令将在当前目录下查找子目录与文件。并且将查找到的子…

js设计模式(二)-创建型模式

创建型设计模式介绍 在软件工程中&#xff0c;创建型模式是处理对象创建的设计模式&#xff0c;试图根据实际情况使用合适的方式创建对象。基本的对象创建方式可能会导致设计上的问题&#xff0c;或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决问题。 创…

GCN-LSTM 预测出租车速度 英文 Taxi Speed Prediction Using GCN-LSTM

GCN-LSTM模型预测出租车速度 GCN&#xff1a;又称GNN&#xff0c;图神经网络 LSTM&#xff1a;长短时记忆网络 可做学习参考 Summary One of the most valuable findings in engineering is the determination of taxi speed. Since the GCN-LSTM program software can r…

BOM(一):window对象常见事件、定时器

BOM&#xff08;一&#xff09;BOM介绍window 对象的常见事件定时器location 对象navigator 对象history 对象BOM介绍 BOM是浏览器对象模型&#xff0c;它提供了独立于内容而与浏览器窗口进行交互的对象&#xff0c;其核心对象是 window。 BOM的构成 window 对象的常见事件 1.…

Python|每日一练|斐波那契数列|优化算法|迭代|动态计算|排列组合|时间复杂度:走楼梯

题目名称&#xff1a;走楼梯 时间限制&#xff1a;1000ms内存限制&#xff1a;256M 题目描述 现在有一截楼梯&#xff0c;根据你的腿长&#xff0c;你一次能走 1 级或 2 级楼梯&#xff0c;已知你要走 n 级楼梯才能走到你的目的楼层&#xff0c;请实现一个方法&#xff0c;计…

进程状态|操作系统|什么是pcb|什么是僵尸进程 |什么是孤儿进程 【超详细的图文解释】【Linux OS】

说在前面 今天给大家带来操作系统中进程状态的详解。 本篇博主将通过从进程状态的广泛概念&#xff0c;深入到Linux操作系统详细的一些进程状态。在解释进程状态的过程中&#xff0c;博主还会穿插一些操作系统一些重要概念&#xff01;本篇干货满满&#xff0c;请大家不要吝啬…

新建的普通用户无法使用sudo的问题

文章目录1.为什么新建用户无法使用sudo指令1. 查看sudoers的权限2. 切换成root用户解决问题1. 切换root用户2.进入 vim编辑器3. 配置成功1.为什么新建用户无法使用sudo指令 [lynVM-8-8-centos ~]$ sudo ls [sudo] password for lyn: lyn is not in the sudoers file. This i…

声学特征提取普及笔记

声学特征如何提取? 一、声学特征预处理 首先进行预处理,就是我们最后要提取一帧一帧的这种声学特征,这个语音信号经过预处理然后提取特征,那么特征也有用原始的傅里叶变换,STFT短时傅里叶变换得到这个语谱图特征,也有用FBANK就没有滤波器的输出,还有用MFCC。预处理包括…

SQL 通配符

通配符可用于替代字符串中的任何其他字符。 SQL 通配符 在 SQL 中&#xff0c;通配符与 SQL LIKE 操作符一起使用。 SQL 通配符用于搜索表中的数据。 在 SQL 中&#xff0c;可使用以下通配符&#xff1a; 通配符描述%替代 0 个或多个字符_替代一个字符[charlist]字符列中的…