导航:首页 > 编程语言 > php删除数组下标

php删除数组下标

发布时间:2023-01-14 15:44:20

‘壹’ 求教php二维数组根据某一元素删除

<?php
$arr=array(
2=>array(
'catid'=>2,
'catdir'=>'notice',
),
5=>array(
'catid'=>5,
'catdir'=>'subject',
),
6=>array(
'catid'=>6,
'catdir'=>'news'
)
);
functionfindVal($arr,$dir){
foreach($arras$key=>$val){
if(in_array($dir,$val))
return$key;
}
}
functionarray_remove_by_key($arr,$key){
if(!array_key_exists($key,$arr)){
return$arr;
}
$keys=array_keys($arr);
$index=array_search($key,$keys);
if($index!==FALSE){
array_splice($arr,$index,1);
}

return$arr;
}
$keyz=findVal($arr,'subject');
print_r(array_remove_by_key($arr,$keyz));
?>

‘贰’ php 删除多维数组指定元素

foreach($data_arras$key=>$data){
if(in_array('id',array_keys($data))){
unset($data_arr[$key]['id']);
}
}

‘叁’ php二维数组如何根据一个ID删除一个元素

关键看你的二维数组的结果.
如果Id是下标并且是字符串,如下面的.
$demo = array('one'=>array(1,2,3),'two'=>array(3,4,5))
可以直接unset($demo['one']),
如果ID是下标并且直接是数值,则直接
unset($demo[1]);
如果ID是元素值,则没有好的办法,只能用for遍历,找到再unset()

‘肆’ 如何添加、删除PHP关联数组

�喾矗�憧梢酝�鄙�鞑⑻畛涫�椤H绻�阏�诖�硎�炙饕��椋�憧赡芟胧褂孟允久��暮��爸煤妥芳釉�兀�镚rray_push()和array_unshift()函数,但这些函数不能操作关联数组。 2、删除数组元素 如果要从数组中删除一个元素,请使用unset()函数, 使用数字索引数组时,删除数组元素的办法更多,更灵活,可以使用array_shift()和array_pop()函数分别从数组的开头和末尾删除一个元素。 3、交换键和值 假设你想创建一个名叫$states的新数组,使用州府作为索引,使用州名作为关联值,使用array_flip()函数很容易完成这个任务。 4、合并数组 假设前面的数组由一个基于Web的“FlashCard”服务使用,你想提供一种方法测试学生对美国各州首府的掌握情况,你可以使用array_merge()函数合并包含州和首府的数组。 5、编辑数组值 假设在数组中的数据包含大小写错误,在插入到数据库之前,你想纠正这些错误,你可以使用array_map()函数给每个数组元素应用一个回调。 6、按键对数组排序 FlashCard程序常常使用各种排序,如按字母顺序排序,你可以使用ksort()函数按键对关联数组进行排序。因为数组是通过参数传递给ksort()函数的,意味着你不再需要将排序结果分配给另一个变量。 7、随机数组排序 在FlashCard程序中还涉及到另一种随机排序技术,这时你要使用shuffle()函数实现数组项目的随机排序。如果不需要打乱数组顺序,你只是想随机选择一个值,那么使用array_rand()函数即可。 8、确定键和值是否存在 你可以使用in_array()函数确定一个数组元素是否存在。 9、搜索数组 你可能想搜索数组资源,这样用户就可以方便地用一个特定的州府检索关联的州,可以通过array_search()函数实现数组搜索。 10、标准PHP库 标准PHP库(Standard PHP Library,SPL)为开发人员提供了许多数据结构,迭代器,接口,异常和其它以前PHP语言没有的功能,使用这些功能可以通过面向对象的语法遍历数组。

‘伍’ php 删除数组中指定的元素

array_splice函数可以删除数组中的元素(只是该函数的功能之一),array_splice用法如下:
array_splice

把数组中的一部分去掉并用其它值取代
array array_splice( array &$input, int $offset[, int $length = 0 [, mixed $replacement ]] )把
input
数组中由offset

length指定的单元去掉,如果提供了
replacement
参数,则用其中的单元取代。
input:输入的数组。
offset:如果
offset
为正,则从
input数组中该值指定的偏移量开始移除。如果
offset为负,则从
input
末尾倒数该值指定的偏移量开始移除。
length:如果省略
length,则移除数组中从offset到结尾的所有部分。
如果指定了
length并且为正值,则移除这么多单元。
如果指定了
length并且为负值,则移除从
offset
到数组末尾倒数length
为止中间所有的单元。
小窍门:当给出了replacement
时要移除从
offset到数组末尾所有单元时,用count($input)
作为
length。
replacement:如果给出了
replacement
数组,则被移除的单元被此数组中的单元替代。
示例,删除数组$inputArr的第5~10个元素(从0开始数,包括第5个和第10个,共6个元素)
array_splice($inputArr,5,6);

‘陆’ 定义一个数组,找出下标为偶数的元素,从数组中删除它们PHP

最好重新申请一个数组来保存删除后的数组。
如果是C++的话,直接使用vector更简单。

‘柒’ PHP代码实现:1)删除整个数组2)删除数组中指定的元素3)删除重复的元素

$arr = array(1,2,4,2,0,9,8,5);//定义一个数组。

$arr1 = $arr; //定义另一个数组和上一个数组一样。

//循环第一个数组让后循环第二个数组 用第一个数组的每个值和第二个数组比较如果相同就删除,最后输出第二个数组就行了。

for($i = 0;$i<count($arr);$i++){

for($j=$i+1;$j<count($arr);$j++){

if($arr[$i] == $arr[$j])

unset($arr1[$i]);

}

}

echo'<pre>';

print_r($arr1);

第二 如果允许使用array_uniqe()函数的话,直接array_uniqe(直接写数组名就ok)。

在PHP中可以使用内置函数array_unique()来直接删除重复元素,也可以使用array_flip()函数来间接删除重复元素。

1.array_unique()函数

array_unique()函数可以移除数组中的重复的值,并返回结果数组;当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。

代码示例:

<?php$result1 = array("a" => "green", "red", "b" => "green", "blue",

"red");var_mp($result1);$result2 = array_unique($result1);var_mp($result2);?>

2.array_flip()函数

array_flip()是反转数组键和值的函数,它有个特性就是如果数组中有二个值是一样的,那么反转后会保留最后一个键和值,利用这个特性我们用他来间接的实现数组的去重。

代码示例:

<?phpheader("content-type:text/html;

charset=utf-8");$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 输出原始数组echo "原始数组

:";var_mp($a);// 。

通过使用翻转键和值移除重复值$a = array_flip($a);

// 通过再次翻转键和值来恢复数组元素$a = array_flip($a);// 重新排序数组键$a = array_values($a);// 输出更新后的数组echo "更新数组 :";var_mp($a);?>

‘捌’ php如何删除数组中的某个元素用法总结

如果要在某个数组中删除一个元素,可以直接用的unset,例子代码:

<?php $arr = array('a','b','c','d'); print_r($arr); unset($arr[1]); print_r($arr); ?>

以上代码输出的结果如下:

E:\TEMP\文件\exp>a.phpArray( [0] => a [1] => b [2] => c [3] => d)Array( [0] => a [2] => c [3] => d)

也就是说,删除了指定的元素,其它元素的序号是不改变的。

‘玖’ php数组元素值的修改和删除问题

删除数组元素和删除一个变量一样
unset($strArray['key']);
更新是直接赋值
$strArray['key'] = 'new var';
=================
这种事情我做过, 关键是把 $strArray 放在文件中,以及对这个数组的操作.

1.存放,比如放在 strarray.php 中

$fp = fopen('strarray.php','w');
fwrite($fp,'<?php'."\n".'$strArray = '.var_export($strArray,1).";\n?>");
fclose($fp);

2. 读取

include 'strarray.php';

3. 删除

unset($strArray['key'])

====
要注意的是,如果使用函数来做这些操作,strArray是全局变量,在function中要有

global $strArray;

这句声明

我试过使用这个方法来存放经纬度数据,好处是不用xml文件或数据库,速度也非常快

‘拾’ PHP 数组重组

很简单,代码如下:

//假设数组变量$array保存了当前数据
foreach($arrayas$key$value){//遍历数组
//通过正则表达式来判断是否为诸如1.x的下标
if(!preg_match('/./',$key)){
//删除数组诸如下标为:1,2,3的数据
unset($array[$key]);
continue;
}
//通过.点来分割诸如1.x的下标
$array2=explode('.',$key);
//使用新数组来存储数据
$array3[$array2[0]][$key]=$value;
}
//如果数组下标在排序上有任何颠倒可用ksort()[正序]或krsort()[倒序]来排序
ksort($array3);
//打印重组的数组效果如下
print_r($array3);

Array
(
[1] => Array

(

[1.1] => 美妆保养
[1.2] => 美容工具
[1.3] => 护肤保养
[1.4] => 美容化妆
[1.5] => 美发护发

)

[2] => Array

(

[2.1] => 香水须后水
[2.2] => 工具配件

)

)


如果还有任何问题,欢迎追问~

阅读全文

与php删除数组下标相关的资料

热点内容
扣扣加密技巧 浏览:720
苹果如何创建服务器错误 浏览:495
软考初级程序员大题分值 浏览:473
js压缩视频文件 浏览:578
linux如何通过命令创建文件 浏览:989
应用加密app还能访问应用嘛 浏览:433
安卓怎么用支付宝交违章罚款 浏览:665
php面向对象的程序设计 浏览:504
数据挖掘算法书籍推荐 浏览:894
投诉联通用什么app 浏览:150
web服务器变更ip地址 浏览:954
java正则表达式验证邮箱 浏览:360
成熟商务男装下载什么软件app 浏览:609
加密2h代表长度是多少厘米 浏览:23
拍卖程序员 浏览:101
电脑的图片放在哪个文件夹 浏览:276
unsignedintjava 浏览:217
编译器下载地址 浏览:43
什么是面对对象编程 浏览:708
b站服务器什么时候恢复 浏览:721