PHP中的array_values()函数是一个非常实用的数组函数。它返回一个包含给定数组中所有值的新数组,且键名重新索引为0、1、2等连续数字。如果给定的参数不是一个数组,该函数会返回false并抛出一个异常。下面我们来深入了解一下它的使用和实现原理。
一、基本语法
array_values ( array $array ) : array
参数:
array:必选参数,需要进行取值的数组。
返回值:
返回一个包含给定数组中所有值的新数组,且键名重新索引为 0、1、2 等连续数字。
二、使用实例
我们来看下示例:
```php
$arr = array(1,2,3,4,5);
$newArr = array_values($arr);
print_r($newArr);
```
结果为:
```
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
```
从上面的运行结果中,我们可以看出,array_values()函数起到了将原始数组键名重新排列的作用,让后续处理数据更加方便。
三、过程分析
接来下,我们来分析一下array_values()函数的工作原理:
```php
function array_values($array)
{
$tmp = array();
if (is_array($array)) {
foreach ($array as $value) {
$tmp[] = $value;
}
return $tmp;
}
return false;
}
```
从上面的代码中,我们可以看到函数的主要逻辑就是遍历原数组,然后将所有元素值存入一个新数组中,最后返回新数组即可。
四、抛出异常错误
从实例中可以看到,如果给定的参数不是一个数组,该函数会返回false并抛出一个异常。这样可以让代码更加严谨和容错。下面我们来看一下具体的异常错误抛出:
```php
if (is_array($array)) {
foreach ($array as $value) {
$tmp[] = $value;
}
return $tmp;
} else {
throw new Exception('array_values() expects parameter 1 to be array, ' . gettype($array) . ' given.');
}
```
当函数判断参数不是数组时,就会抛出一个异常错误,提示错误信息为:“array_values() expects parameter 1 to be array, ' . gettype($array) . ' given.”
五、总结
array_values()函数是 PHP 中一个非常实用的数组函数,它可以将原数组的所有元素键名重新排序,让后续处理更加方便。
除此之外,在实现函数的过程中,我们还考虑到了参数判断和抛出异常错误的问题,使得代码更加健壮和安全。
最后,我们需要注意到一点,当原数组元素全部为null时,array_values()函数会把健名全部重置为连续数字,但php会自动赋值为0、1、2… 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复