php数组如何去掉某个字符串

发布时间:2022-08-27 11:21:04 作者:iii
来源:亿速云 阅读:160

这篇文章主要介绍“php数组如何去掉某个字符串”,在日常操作中,相信很多人在php数组如何去掉某个字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php数组如何去掉某个字符串”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

两种方法:1、使用array_search()和array_splice()删除,语法“array_splice($arr,array_search("字符串",$arr,true),1);”。2、利用foreach语句和unset()删除,语法“foreach($arr as $k=>&$v){if($v==="字符串"){unset($arr[$k]);}}”。

php数组如何去掉某个字符串

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

方法1:使用array_search()+array_splice()

步骤1:使用array_search()函数在数组中搜索指定字符串,并返回对应的键名

array_search(value,array,strict)
参数描述
value必需。规定在数组中搜索的键值。
array必需。规定被搜索的数组。
strict可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:
  • true

  • false - 默认

如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。
<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"12",12,25,24);
echo "原数组:";
var_dump($arr); 
$key=array_search("12",$arr,true);
echo "指定字符串'12'的键名为:".$key;

?>

php数组如何去掉某个字符串

步骤2:使用array_splice()函数根据获取的键名删除该元素

array_splice() 函数从数组中移除选定的元素(也可用新元素取代它)。

array_splice(array1,start,length,array2)
参数描述
array1必需。规定数组。
start必需。数值。规定删除元素的开始位置。    0 = 第一个元素。    如果该值设置为正数,则从数组中该值指定的偏移量开始移除。如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。    -2 意味着从数组的倒数第二个元素开始。
length可选。数值。规定被移除的元素个数,也是被返回数组的长度。    如果该值设置为正数,则移除该数量的元素。如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。    
array2可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。

说明:该函数会改变原数组

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"12",12,25,24);
echo "原数组:";
var_dump($arr); 
$key=array_search("12",$arr,true);
echo "指定字符串'12'的键名为:".$key;


array_splice($arr,$key,1);
echo "<br><br>删除指定字符串'12'后:";
var_dump($arr); 
?>

php数组如何去掉某个字符串

方法2:利用foreach语句+unset()函数

步骤1:使用foreach语句通过引用循环的方式遍历数组

foreach ($array as $key => &$value){
    //循环体语句块;
}

遍历给定的 $array 数组,在每次循环中会将当前数组的值赋给 $value,键名赋给 $key。

一般情况下,使用foreach语句遍历数组时,是对数组的备份进行操作,一般不会影响数组本身。

想要通过循环来改变数组可以采用引用循环(在 $value 之前加上 &,这样foreach语句会以引用赋值而不是拷贝一个值),那么在循环体内对数组进行操作,就会影响数组本身。

步骤2:在循环体中,使用“===”运算符查找指定字符串,并用unset()函数删除该元素

if($value==="指定字符串"){
	unset($arr[$key]);
}

完整示例代码:

<?php
header("Content-type:text/html;charset=utf-8");
$arr = array(10,"25",12,25,"24");
echo "原数组:";
var_dump($arr); 
foreach ($arr as $key => &$value){
	if($value==="25"){
		unset($arr[$key]);
	}
}
echo "<br>删除指定字符串'25'后:";
var_dump($arr); 
?>

php数组如何去掉某个字符串

可以看出,在最后一个元素前,有一个&,那是因为数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。我们需要使用unset() 来将其销毁。

unset($value); // 最后取消掉引用

php数组如何去掉某个字符串

到此,关于“php数组如何去掉某个字符串”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 如何去掉php数组的键名
  2. 如何去掉php数组键名

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:linux和windows的内存有哪些区别

下一篇:C/C++指针是什么及怎么使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》