在 PHP 中,数组的每个元素都是由键值对(key-value)组成,通过元素的键名来访问对应键的值。
创新互联拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都网站设计、网站制作、网站维护、雅安服务器托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城网站开发、政府网站等各类型客户群体,为全球上千多家企业提供全方位网站维护、服务器维护解决方案。
提示:“索引”和“键名”指的是同一样东西,“索引”多指数组数字形式的下标。
有时候,我们需要去掉一维数组的键值(value),只留下数组的键名(key),这要怎么做?
此时,就可以使用array_keys()函数了。
array_key() 函数可以获取数组中的部分或所有键名,语法格式如下:
array_keys($array [, $search_value = null [, $strict = false]])
参数说明如下:
$array:必选参数,为待操作的数组;
$search_value:可选参数,如果参数为空,则函数会返回数组中的所有键名,如果指定了该参数,则函数就只会返回值为 $search_value 的键名;
$strict:可选参数,判断在搜索的时候是否使用严格模式,$strict 默认为 false,也就是非严格模式,在搜索时只比较类型,不比较类型,若将 $strict 设置为 true,也就是严格模式,在搜索时同时比较值和类型,等价于===。
array_key() 函数会以数组形式返回得到的数组键名。
'it网', 'url' = '', 'title' = 'PHP学习教程', ); $key=array_keys($array); var_dump($key); ?
可以看到,去掉了一维数组的键值(value),只返回了一维数组的键名(key)。
内容扩展:
1、使用unset()函数可以用于取消设置关联数组中的键及其值。
// 声明关联数组 $arr = array( "1" = "加", "2" = "减", "3" = "乘", "4" = "除" ); // 关联数组中删除键1及其值 unset($arr['1']); // 显示数组元素 var_dump($arr);
2、使用array_diff_key()函数用于获取一个或多个数组之间的差集。
此函数比较一个或多个数组之间的键并返回它们之间的差集。
// 声明关联数组 $arr = array( "1" = "春", "2" = "夏", "3" = "秋", "4" = "冬", ); // 从关联数组中删除键1及其值 $result = array_diff_key($arr, array_flip((array) ['1'])); // 显示数组元素 var_dump($result);
到此这篇关于php去掉一维数组的键值的实例方法的文章就介绍到这了。
可以使用php的函数:array_filter,例如:
$arr = array (
0 = '64.32.28.254|2020-04-15',
1 = 1,
2 = '64.32.28.254|2020-04-02',
3 = 1,
4 = '64.32.28.254|2020-06-05',
5 = 1,
6 = '64.32.28.254|2020-08-29',
7 = 1,
8 = '64.32.28.254|2020-08-29',
);
$arr = array_filter($arr, function ($val) {
return is_numeric($val) ? false : true;
});
var_dump($arr);
如果要在某个数组中删除一个元素,可以直接用的unset,例子代码:
?php
$arr = array('a','b','c','d');
print_r($arr);
unset($arr[1]);
print_r($arr);
?
以上代码输出的结果如下:
E:\TEMP\文件\expa.php
Array
(
[0] = a
[1] = b
[2] = c
[3] = d
)
Array
(
[0] = a
[2] = c
[3] = d
)
也就是说,删除了指定的元素,其它元素的序号是不改变的。
array_filter() 函数用回调函数过滤数组中的值。
该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。
例如:
?php
function test_odd($var)
{
return($var 1);
}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
?
运行结果:Array ( [3] = 3 )
扩展资料:
循环遍历数组,把有值的元素放进一个新数组中。
$arr = array();
foreach ($urlArr as $key = $val) {
if (empty($val)) {continue;}
$arr[] = $val;
}
$arr是去除空元素的新数组。