常用数组函数集

本文介绍了PHP中处理数组和字符串的基本方法,包括计算数组长度、替换字符串中的字符及在数组中搜索键值并返回键名。通过示例代码展示了count()与sizeof()函数、str_ireplace()函数及array_search()函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、计算数组长度

count() 和 sizeof() 计算数组长度

定义和用法

count() 函数返回数组中元素的数目。

语法

count(array,mode);
参数描述
array必需。规定数组。
mode

可选。规定模式。可能的值:

  • 0 - 默认。不对多维数组中的所有元素进行计数
  • 1 - 递归地计数数组中元素的数目(计算多维数组中的所有元素)

说明

count() 函数计算数组中的单元数目或对象中的属性个数。

对于数组,返回其元素的个数,对于其他值,返回 1。如果参数是变量而变量没有定义,则返回 0。

案例:

<?php
$cars=array("Volvo","BMW","Toyota");
echo count($cars);
?>

定义和用法

sizeof() 函数计算数组中的单元数目或对象中的属性个数。

sizeof() 函数是 count() 函数的别名。

注释:当变量未被设置,或是变量包含一个空的数组,该函数会返回 0。可使用 isset() 变量来测试变量是否被设置

语法

sizeof(array,mode);
参数描述
array必需。规定数组。
mode

可选。规定模式。可能的值:

  • 0 - 默认。不计数多维数组中的所有元素。
  • 1 - 递归地计数数组中元素的数目(计算多维数组中的所有元素)。

 

<?php
$cars=array("Volvo","BMW","Toyota");
echo sizeof($cars);
?>

2、替换字符串中的一些字符

定义和用法

str_ireplace() 函数替换字符串中的一些字符(不区分大小写)。

该函数必须遵循下列规则:

  • 如果搜索的字符串是一个数组,那么它将返回一个数组。
  • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
  • 如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
  • 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

注释:该函数不区分大小写。请使用 str_replace() 函数来执行区分大小写的搜索。

语法

str_ireplace(find,replace,string,count)
参数描述
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count

可选。一个变量,对替换数进行计数。

 

<?php
$arr = array("blue","red","green","yellow");
print_r(str_ireplace("RED","pink",$arr,$i)); // 此函数对大小写不敏感
echo "替换数:$i";
?>

 3、数组中搜索键值返回它的键名

定义和用法

array_search() 函数在数组中搜索某个键值,并返回对应的键名。

详细说明

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。

如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。

语法

array_search(value,array,strict)
参数描述
value必需。规定需要搜素的键值。
array必需。规定被搜索的数组。
strict

可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:

  • true
  • false - 默认

如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。

例子 1
在数组中搜索键值 5,并返回它的键名(注意 ""):

<?php
$a=array("a"=>"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true);
?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值