[英]Delete values from a 2d array in php
我有以下二維數組:
Array ( [0] =>
Array ( [0] => 20130202
[1] => unknown
[2] => 0
[3] => 1
[4] => 0
[5] => 0
[6] => 0
[7] => 19022
[8] => 0
[9] => 0 )
[1] =>
Array ([0] => 20130202
[1] => ZZ
[2] => 1
[3] => 0
[4] => 0
[5] => 0
[6] => 0
[7] => 4
[8] => 0
[9] => 0 )
*
*
我嘗試刪除內部陣列上的以下特定條目:2,4,6,7,8,9。 我正在使用的代碼如下:
foreach ($array_with_values as $key => $obj) {
if ($key == 2 || $key == 4 || $key == 6 || $key == 7 || $key == 8 || $key == 9){
unset($obj[$key]);
}
}
但這是行不通的。 有任何想法嗎?
僅使用此unset($array_with_values[$key]);
foreach ($array_with_values as $key => $obj) {
if ($key == 2 || $key == 4 || $key == 6 || $key == 7 || $key == 8 || $key == 9){
unset($array_with_values[$key]);
}
}
除了專注於要刪除的內容,您還可以過濾想要的內容:
$keys = array_flip([0, 1, 3, 5]);
foreach ($outer as &$inner) {
$inner = array_intersect_key($inner, $keys);
}
嘗試這個:
foreach ($array_with_values as $key => $obj) {
if ($key == 2 || $key == 4 || $key == 6 || $key == 7 || $key == 8 || $key == 9){
unset($array_with_values[$key]);
}
}
您需要做的是... unset($array_with_values[$key])
考慮下面的代碼塊...
$arr = array(1,2,3,4,6);
foreach($arr as $key => $a)
{
if($a == 2)
unset($a);
}
print_r($arr);
foreach($arr as $key => $a)
{
if($a == 2)
unset($arr[$key]);
}
print_r($arr);
我希望你能解釋一下。
我會這樣:
$unwanted = array(2, 4, 6, 7, 8, 9);
for ($i = 0; $i < sizeof($outerArray); $i++) {
for ($j = 0; $j < sizeof($unwanted); $j++) {
unset($outerArray[$i][$unwanted[$j]]);
}
}
foreach ($array_with_values as $key => $obj) {
if ($key == 2 || $key == 4 || $key == 6 || $key == 7 || $key == 8 || $key == 9){
unset($obj[$key]);
}
}
在這里,您的第一個數組的鍵將為0,1,因此如下所示:
$delete = array (2,4,6,7,8,9);
foreach ($array_with_values as $key => $obj) {
foreach($delete as $val){
unset($obj[$val]);
}
}
嘗試這個
$big_array = array(
array(20130202 ,'unknown',0,1,0,0,0,19022,0,0),
array(20130202 ,'ZZ',1,0,0,0,0,4,0,0)
);
foreach ($big_array as $ikey => $array) {
foreach ($array as $key => $val) {
if (in_array($key, array(2,4,6,7,8,9))) {
unset($big_array[$ikey][$key]);
}
}
}
print_r($big_array);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.