array_filter 去掉数组中空值
PHP 内置函数 array_filter 可以过滤数组中的元素,可以定义过滤条件,例如只保留非空值。下面是一个简单的示例代码:
$result = [null , 'A' ,'B' ,'C'];
$result = array_filter($result);
var_dump($result);
结果
[
1 : ‘A’,
2: ‘A’,
3 : ‘A’,
]
总结:
使用 array_filter 函数 当去掉空值后 相应的 也会将此函数中的 key 也删掉 不会从起始 key 0 进行
implode() 将数组转换为字符串
php 版本
(PHP 4, PHP 5, PHP 7, PHP 8)
函数说明:implode(string $separator, array $array): string 示例代码:
$separato 分割符号 如 , | 等自定义的任何分隔符
第二个参数为要进行转换字符串的数组 (多维不可用)
$result = [1,2,3];
$result = implode(',',$result);
echo $result; // 1,2,3
explode() 将字符串转换为数组
explode(string $separator, string $string, int $limit = PHP_INT_MAX):
此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 separator 作为边界点分割出来。
参数
separator
边界上的分隔字符。
string
输入的字符串。
limit
如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
如果 limit 是 0,则会被当做 1。
实例:
$result = "1,2,3";
$result = explode(',',$result);
dump($result);
array_splice 去掉数组中的某一部分并用其它值取代
(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice(
array &$array,
int $offset,
?int $length = null,
mixed $replacement = []
): array
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
var_dump($input);
?>
以上 会输出:
array(2) {
[0]=>
string(3) "red"
[1]=>
string(5) "green"
}
array(2) {
[0]=>
string(3) "red"
[1]=>
string(6) "yellow"
}
array(2) {
[0]=>
string(3) "red"
[1]=>
string(6) "orange"
}
array(5) {
[0]=>
string(3) "red"
[1]=>
string(5) "green"
[2]=>
string(4) "blue"
[3]=>
string(5) "black"
[4]=>
string(6) "maroon"
}
array_values 返回数组中所有的值
参数
array
数组。
<?php
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
?>
Array
(
[0] => XL
[1] => gold
)
array_diff() 函数用于比较两个(或更多个)数组的值,并返回差集。
该函数比较两个(或更多个)数组的值(key=>value 中的 value),并返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的值。
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
print_r($result);
?>
Array ( [b] => green [c] => blue )