?php
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、江华网络推广、微信小程序开发、江华网络营销、江华企业策划、江华品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供江华建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
//这是在数据库取出的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);
上面代码和注释都写好了,主要是这部分处理,取出数据应该不难吧
foreach($array as $k=$v){
if($v['goodsId'] == '269'){
unset($array[$k]);
}
}
如果要在某个数组中删除一个元素,可以直接用的unset,例子代码:
?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)
如果要在某个数组中删除一个元素,可以直接用的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
)
也就是说,删除了指定的元素,其它元素的序号是不改变的。
在某个数组中删除一个元素,我是直接用的unset,也不管unset之后会发生什么。但今天看到的东西却让我大吃一惊,并不是我想象的那样,我用示例来说明
我们来举一个例子:
代码如下:
?php
$arr
=
array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?
我之前想象的是unset之后,数组$arr应该会压缩数组以填补缺少的元素位置,但print_r($arr)之后,结果却不是那样的,最终结果是
Array
(
[0]
=
a
[2]
=
c
[3]
=
d
);
如果是这样的话,那我们就来看看数字数组的形式
代码如下:
?php
$arr
=
range(5,10,4);
print_r($arr);//span
style="font-family:
Simsun;font-size:16px;
"Array
(
[0]
=
5
[1]
=
6
[2]
=
7
[3]
=
8
[4]
=
9
[5]
=
10
)/span
unset($arr[1]);//span
style="font-family:
Simsun;font-size:16px;
"Array
(
[0]
=
5
[2]
=
7
[3]
=
8
[4]
=
9
[5]
=
10
)/span
print_r($arr);
?
可以看到输出的形式也是数组是会填补缺少的元素的位置。那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():pre
name="code"
class="php"?php
代码如下:
$arr
=
array('a','b','c','d');
array_splice($arr,1,1);
print_r($arr);
//
span
style="font-family:
Simsun;font-size:16px;
"Array
(
[0]
=
a
[1]
=
c
[2]
=
d
)/span
?