程序员的知识教程库

网站首页 > 教程分享 正文

PHP 数组键值操作函数(php中数组)

henian88 2024-08-28 16:17:45 教程分享 3 ℃ 0 评论

array_values() 返回数组中所有的值并给其建立数字索引

array array_values ( array $input )

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_values($array));
Array
(
[0] => blue
[1] => red
[2] => green
[3] => blue
[4] => blue
)

array_keys() 返回数组中所有的键名并给其建立数字索引

array array_keys ( array $input [, mixed $search_value [, bool $strict ]] )

如果指定了可选参数 search_value ,则只返回该值的键名。否则 input 数组中的所有键名都会被返回

第三个参数默认值为false,不检测数据类型

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
Array
(
[0] => 0
[1] => 3
[2] => 4
)

in_array() 检查数组中是否存在某个值,区分大小写(不管第三个参数是true还是false,都区分大小写,因为参数作为变量是区分大小写的)

bool in_array ( mixed $needle , array $haystack [, bool $strict ] )

如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同。

第三个参数只用于是否检测数据类型; 默认值false,不检测数据类型

array_search() 在数组中搜索给定的值,如果成功则返回相应的键名

mixed array_search ( mixed $needle , array $haystack [, bool $strict ] )

在 haystack 中搜索 needle 参数并在找到的情况下返回键名,否则返回 FALSE。

如果可选的第三个参数 strict 为 TRUE,则 array_search() 还将在 haystack 中检查 needle 的类型。 默认值为false

如何搜索的值,数组中有两个,则返回第一个键值,但不会返回数组;

注意: 如果needle在haystack中出现不止一次, 则返回第一个匹配的键。

要返回所有匹配值的键, 应该用array_keys()加上可选参数search_value来代替。

array_key_exists() — 检查给定的键名或索引是否存在于数组中

bool array_key_exists ( mixed $key , array $search )

$arr1 = array("blue", "red", "green", "blue", "blue");
echo array_key_exists(1, $arr1)? "存在":"不存在"; //存在

array_key_exists() 与 isset() 对比

isset() 对于数组中为 NULL 的值不会返回 TRUE, 而 array_key_exists() 会。

<?php
$search_array = array('first' => null, 'second' => 4);
isset($search_array['first']); //false
array_key_exists('first', $search_array); //true
?>

array_flip() 交换数组中的键和值

array array_flip ( array $trans )

原数组中如何没键名, 则重建索引;

原数组值相同, 则第二个覆盖第一个;

$lamp = array("OS"=>"Linux","WebServer"=>"Apache","Database"=>"MySQL","Language"=>"PHP");
print_r(array_flip($lamp));
echo "<br />";
$trans = array("a"=>1,"b"=>1,"c"=>2);
print_r(array_flip($trans));

输出结果:

Array ( [Linux] => OS [Apache] => WebServer [MySQL] => Database [PHP] => Language )
Array ( [1] => b [2] => c )

array_reverse() 返回一个单元顺序相反的数组, 没键名的则为其重建数字索引;

array array_reverse ( array $array [, bool $preserve_keys ] )

第二个参数默认值为false, 则不保护数字索引(关联数字除外), false为默认值

true, 保护键名(包括数字和关联数组);

$input = array("biancheng"=>"php", 5=>"blue",4.0, array("green", "red"));
$result = array_reverse($input); //默认值为false
print_r($result);
Array ( [0] => Array ( [0] => green [1] => red ) [1] => 4 [2] => blue [biancheng] => php )

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表