从多维数组中删除元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从多维数组中删除元素相关的知识,希望对你有一定的参考价值。
嗨,我有一些问题从多维数组中取消整行。我有一个采用以下格式的数组
Array
(
[0] => Array
(
[ID] => 10000
[Date] => 21/11/2013
[Total] => 10
)
[1] => Array
(
[ID] => 10001
[Date] => 21/12/2013
[Total] => abc
)
...
)
我正在循环此数组以检查Total是否仅包含数字或句点。
foreach($this->csvData as &$item) {
foreach($item as $key => $value) {
if($key === 'Total') {
$res = preg_replace("/[^0-9.]/", "", $item[$key] );
if(strlen($res) == 0) {
unset($item[$key]);
} else {
$item[$key] = $res;
}
}
}
}
所以你可以从我的数组中看到,第二个元素Total包含abc,因此应该删除它所在的整个元素。目前,凭借我所拥有的,我只会删除该元素
[1] => Array
(
[ID] => 10001
[Date] => 21/12/2013
)
如何删除整个元素?
谢谢
答案
试试这个:
//Add key for outer array (no longer need to pass-by-reference)
foreach($this->csvData as $dataKey => $item) {
foreach($item as $key => $value) {
if($key === 'Total') {
$res = preg_replace("/[^0-9.]/", "", $item[$key] );
if(strlen($res) == 0) {
// Unset the key for this item in the outer array
unset($this->csvData[$dataKey]);
} else {
$item[$key] = $res;
}
}
}
}
以上是关于从多维数组中删除元素的主要内容,如果未能解决你的问题,请参考以下文章
08.18 javascript 06 数组 数组的概念 创建数组 读取数组中的元素 稀疏数组 添加和删除数组的元素 数组遍历 多维数组 数组的方法 类数组对象 作为数组的字符串