php数组去重函数

PHP是一种非常流行的服务器端脚本语言,它提供了众多的函数和工具来快速地开发Web应用程序。其中包括数组相关的函数和格式化的函数。

一、PHP数组去重函数

数组是PHP中非常常用的数据结构,它可以存储任意类型的数据,并且可以轻松的进行插入、删除和查询等操作。在开发过程中,我们经常会遇到需要对一个数组进行去重的需求。PHP提供了多种方式来实现数组去重,下面介绍几种比较常见的方式。

1. array_unique()

array_unique()是PHP中最基本的数组去重函数,它的作用是去除数组中的重复值,并返回一个新数组。这个函数的实现方式很简单,它会遍历整个数组,使用一个新数组来存储不重复的元素,如果当前元素已经存在于新数组中,就不再添加。

示例代码:

```

$array = array(1, 2, 2, 3, 4, 4, 5);

$unique_array = array_unique($array);

print_r($unique_array);

```

输出结果:

```

Array (

[0] => 1

[1] => 2

[3] => 3

[4] => 4

[6] => 5

)

```

2. array_flip()和array_values()

array_flip()是PHP中的一个数组函数,它的作用是将数组的键和值进行交换,返回一个新的键为值,值为键的数组。我们可以利用这个函数来实现去重,因为键不能重复,所以交换后的数组一定是去重的。

但是,这个方法有一个缺点,就是键的值变成了原来的值,而不是从0开始的递增整数。为了解决这个问题,我们可以再使用array_values()函数来重建索引。

示例代码:

```

$array = array(1, 2, 2, 3, 4, 4, 5);

$flip_array = array_flip($array);

$unique_array = array_values($flip_array);

print_r($unique_array);

```

输出结果:

```

Array (

[0] => 1

[1] => 2

[2] => 3

[3] => 4

[4] => 5

)

```

3. 自定义函数

以上两种方法都是PHP内置的函数,如果我们需要实现一些特殊的逻辑,可以自己编写一个函数来实现去重。这种方法的思路比较简单,就是遍历原数组,将不重复的元素存储到一个新数组中,然后返回新数组。

示例代码:

```

function array_unique_custom($array) {

$unique_array = array();

foreach ($array as $value) {

if (!in_array($value, $unique_array)) {

$unique_array[] = $value;

}

}

return $unique_array;

}

$array = array(1, 2, 2, 3, 4, 4, 5);

$unique_array = array_unique_custom($array);

print_r($unique_array);

```

输出结果:

```

Array (

[0] => 1

[1] => 2

[2] => 3

[3] => 4

[4] => 5

)

```

二、PHP中格式化的函数

在开发Web应用程序时,我们经常需要对数据进行格式化,以便更好的呈现给用户。PHP提供了多种格式化函数,下面介绍一些比较常见的。

1. number_format()

number_format()函数可以将一个数字格式化为千位分隔符的字符串。这个函数接受三个参数,分别是要格式化的数字,小数点后保留的位数和千位分隔符的符号。

示例代码:

```

$number = 1234567.89;

$formatted_number = number_format($number, 2, '.', ',');

echo $formatted_number;

```

输出结果:

```

1,234,567.89

```

2. date()

date()函数可以将一个时间戳格式化为指定的日期字符串。这个函数接受两个参数,分别是日期格式和一个可选的时间戳,如果没有指定时间戳,就使用当前时间。

日期格式是一个字符串,其中可以包含各种字符,表示不同的日期和时间格式。下面列举一些常用的日期格式:

- Y:四位数的年份,比如2021

- y:两位数的年份,比如21

- n:不带前导零的月份,比如7

- m:带前导零的月份,比如07

- d:带前导零的日期,比如01

- j:不带前导零的日期,比如1

- D:缩写的星期几,比如Mon

- l:完整的星期几,比如Monday

- H:24小时制的小时数,比如22

- h:12小时制的小时数,比如10

- i:分钟数,比如30

- s:秒数,比如45

- a:小写的上午或下午,比如am

- A:大写的上午或下午,比如PM

示例代码:

```

$date = date('Y-m-d H:i:s');

echo $date;

```

输出结果:

```

2021-07-26 15:25:30

```

3. sprintf()

sprintf()函数可以将一个格式化字符串和一些变量合并起来生成一个新的字符串。这个函数非常强大,它支持多种格式和类型,并可以使用预定义的占位符替换变量。

示例代码:

```

$name = 'Jack';

$age = 30;

$height = 1.75;

$message = sprintf("My name is %s, I'm %d years old and %.2f meters tall.", $name, $age, $height);

echo $message;

```

输出结果:

```

My name is Jack, I'm 30 years old and 1.75 meters tall.

```

以上是PHP数组去重函数和格式化函数的简单介绍,希望对大家有所帮助。在实际开发中,我们还可以根据具体需求选择其他的函数和工具,以便更好的完成开发任务。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(119) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部