php面试常用数组函数

PHP是一门流行的服务器端编程语言,广泛应用于web开发和数据处理。在PHP的开发中,数组是一种非常常用的数据类型,PHP提供了许多强大实用的数组函数,帮助我们快速有效地处理数据。

本文将介绍一些常用的PHP数组函数以及它们的使用方法和注意事项,以及PHP函数是否能够有两个返回值这个问题的解释。

常用的PHP数组函数:

1. array_push()

array_push() 函数向数组的末尾插入一个或多个元素。它的语法如下:

```

array_push(array, value1, value2, ...)

```

其中,array 是要插入元素的数组,value1、value2 等是要插入的元素。例如:

```

$fruits = array("apple", "banana", "orange");

array_push($fruits, "lemon", "pear");

print_r($fruits);

```

输出结果为:

```

Array

(

[0] => apple

[1] => banana

[2] => orange

[3] => lemon

[4] => pear

)

```

2. array_pop()

array_pop() 函数从数组的末尾弹出一个元素。它的语法如下:

```

array_pop(array)

```

其中,array 是要弹出元素的数组。例如:

```

$fruits = array("apple", "banana", "orange");

$last_fruit = array_pop($fruits);

echo $last_fruit; //输出"orange"

print_r($fruits); //输出Array([0] => apple [1] => banana)

```

3. array_shift()

array_shift() 函数将数组的第一个元素移出并返回。它的语法如下:

```

array_shift(array)

```

其中,array 是要移出元素的数组。例如:

```

$fruits = array("apple", "banana", "orange");

$first_fruit = array_shift($fruits);

echo $first_fruit; //输出"apple"

print_r($fruits); //输出Array([0] => banana [1] => orange)

```

4. array_unshift()

array_unshift() 函数向数组的开头插入一个或多个元素。它的语法如下:

```

array_unshift(array, value1, value2, ...)

```

其中,array 是要插入元素的数组,value1、value2 等是要插入的元素。例如:

```

$fruits = array("apple", "banana", "orange");

array_unshift($fruits, "lemon", "pear");

print_r($fruits);

```

输出结果为:

```

Array

(

[0] => lemon

[1] => pear

[2] => apple

[3] => banana

[4] => orange

)

```

5. array_reverse()

array_reverse() 函数将数组中的元素顺序颠倒。它的语法如下:

```

array_reverse(array, preserve_keys)

```

其中,array是要颠倒元素顺序的数组,preserve_keys是一个可选参数,默认为false,当设置为true时会保留原数组的键名。

例如:

```

$fruits = array("apple", "banana", "orange");

$reversed = array_reverse($fruits);

print_r($reversed); //输出Array([0] => orange [1] => banana [2] => apple)

```

6. array_search()

array_search() 函数在数组中搜索指定的值,并返回所有匹配的数组键名。它的语法如下:

```

array_search(needle, haystack, strict)

```

其中,needle是用于搜索的值,haystack是搜索的数组,strict是一个可选参数,默认为false,表示搜索时不区分大小写,当设置为true时表示搜索时区分大小写。

注意:如果有多个值相同的元素,只会返回第一个匹配的元素。

例如:

```

$fruits = array("apple", "banana", "orange");

$index = array_search("banana", $fruits);

echo $index; //输出1

```

7. array_unique()

array_unique() 函数去除数组中的重复值,并返回一个新的数组,保留原数组的键名。它的语法如下:

```

array_unique(array, sort_flags)

```

其中,array是要去重的数组,sort_flags是一个可选参数,用于指定排序时使用的算法和排序顺序。

例如:

```

$fruits = array("apple", "banana", "orange", "banana", "lemon", "orange");

$unique = array_unique($fruits);

print_r($unique); //输出Array([0] => apple [1] => banana [2] => orange [4] => lemon)

```

8. sort()

sort() 函数对数组进行升序排序,并返回排序后的数组。它的语法如下:

```

sort(array, sort_flags)

```

其中,array是要排序的数组,sort_flags是一个可选参数,用于指定排序时使用的算法和排序顺序。

例如:

```

$fruits = array("banana", "orange", "apple", "pear", "lemon");

sort($fruits);

print_r($fruits); //输出Array([0] => apple [1] => banana [2] => lemon [3] => orange [4] => pear)

```

9. rsort()

rsort() 函数对数组进行降序排序,并返回排序后的数组。它的语法和sort()函数相同,只是排序顺序不同。

例如:

```

$fruits = array("banana", "orange", "apple", "pear", "lemon");

rsort($fruits);

print_r($fruits); //输出Array([0] => pear [1] => orange [2] => lemon [3] => banana [4] => apple)

```

10. usort()

usort() 函数使用自定义的比较函数对数组进行排序,并返回排序后的数组。它的语法如下:

```

usort(array, cmp_function)

```

其中,array是要排序的数组,cmp_function是一个自定义的比较函数。

例如:

```

function cmp($a, $b) {

if ($a == $b) {

return 0;

}

return ($a < $b) ? -1 : 1;

}

$fruits = array("banana", "orange", "apple", "pear", "lemon");

usort($fruits, "cmp");

print_r($fruits); //输出Array([0] => apple [1] => banana [2] => lemon [3] => orange [4] => pear)

```

11. array_merge()

array_merge() 函数将一个或多个数组合并成一个数组。它的语法如下:

```

array_merge(array1, array2, ...)

```

其中,array1、array2等是要合并的数组。

例如:

```

$arr1 = array("apple", "banana", "orange");

$arr2 = array("lemon", "pear");

$merged = array_merge($arr1, $arr2);

print_r($merged); //输出Array([0] => apple [1] => banana [2] => orange [3] => lemon [4] => pear)

```

12. array_key_exists()

array_key_exists() 函数判断指定的键名是否存在于数组中,并返回一个布尔值。它的语法如下:

```

array_key_exists(key, array)

```

其中,key是要检查的键名,array是要搜索的数组。

例如:

```

$fruits = array("apple" => 120, "banana" => 150, "orange" => 100);

if (array_key_exists("orange", $fruits)) {

echo "Orange is in the basket.";

} else {

echo "No orange in the basket.";

}

```

输出结果为:

```

Orange is in the basket.

```

13. count()

count() 函数返回数组中元素的个数。它的语法如下:

```

count(array, mode)

```

其中,array是要计数的数组,mode是一个可选参数,用于指定计数类型。

例如:

```

$fruits = array("apple", "banana", "orange");

$count = count($fruits);

echo $count; //输出3

```

14. array_intersect()

array_intersect() 函数返回两个或多个数组的交集。它的语法如下:

```

array_intersect(array1, array2, ...)

```

其中,array1、array2等是要计算交集的数组。

例如:

```

$arr1 = array("apple", "banana", "orange");

$arr2 = array("lemon", "pear", "banana");

$intersect = array_intersect($arr1, $arr2);

print_r($intersect); //输出Array([1] => banana)

```

15. array_diff()

array_diff() 函数返回两个或多个数组的差集。它的语法如下:

```

array_diff(array1, array2, ...)

```

其中,array1、array2等是要计算差集的数组。

例如:

```

$arr1 = array("apple", "banana", "orange");

$arr2 = array("lemon", "pear", "banana");

$diff = array_diff($arr1, $arr2);

print_r($diff); //输出Array([0] => apple [2] => orange)

```

PHP函数能否有两个返回值?

PHP函数本身只能返回一个值,但是我们可以将多个值封装成一个数组,然后将这个数组作为函数的返回值来实现“多返回值”的效果。

例如:

```

function my_func() {

$a = 10;

$b = 20;

$c = "Hello";

return array($a, $b, $c);

}

$result = my_func();

print_r($result); //输出Array([0] => 10 [1] => 20 [2] => Hello)

```

当然,我们也可以使用PHP7中的list()函数来取出数组中的元素:

```

list($a, $b, $c) = my_func();

echo $a; //输出10

echo $b; //输出20

echo $c; //输出Hello

```

总结

PHP 数组是非常实用的数据类型,在PHP开发中经常用到。本文介绍了一些常用的PHP数组函数,具体包括:array_push()、array_pop()、array_shift()、array_unshift()、array_reverse()、array_search()、array_unique()、sort()、rsort()、usort()、array_merge()、array_key_exists()、count()、array_intersect()、array_diff()。此外,还回答了PHP函数能否有两个返回值这一问题,最终得出结论:PHP函数本身只能返回一个值,但是我们可以将多个值封装成一个数组,以此实现“多返回值”的效果。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/

点赞(67) 打赏

评论列表 共有 0 条评论

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