重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果要在某个数组中删除一个元素,可以直接用的unset,例子代码:
创新互联IDC提供业务:绵阳主机托管,成都服务器租用,绵阳主机托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。
?php
$arr
=
array('a','b','c','d');
print_r($arr);
unset($arr[1]);
print_r($arr);
?
以上代码输出的结果如下:
E:\TEMP\文件\expa.phpArray(
[0]
=
a
[1]
=
b
[2]
=
c
[3]
=
d)Array(
[0]
=
a
[2]
=
c
[3]
=
d)
在 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去掉一维数组的键值的实例方法的文章就介绍到这了。
举例如下:
$a=array(1,2,3);
unset($a);
就可以把整个数组删除。
删除数组和清空数组不是一个概念,删除数组之后,就是无法访问了,向上面的例子,我们unset之后, 数组就不存在了,整个$a都无法访问了。
可以使用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);
?php
//这是在数据库取出的01数据
$string = "7,12,541";
//把01的数据转为数组
$string_to_array = explode(",", $string);
//转换数组,默认数组的键值对是类似这样
//array(0=7,1=12,2=541);
//转换后是array(7=0,12=1,541=2);
$arr_flip = array_flip($string_to_array);
//删除为7的
$delete_mark = 7;
unset($arr_flip[$delete_mark]);
//数组再转回来
$string_to_array = array_flip($arr_flip);
//数组合成字符串
$string_end = implode(",", $string_to_array);
var_dump($string_end);
上面代码和注释都写好了,主要是这部分处理,取出数据应该不难吧