我有一个二维数组,想删除所有元素,其值不是“Name1”。他们应该保留他们的索引号(键):
Array
(
[array001] => Array
(
[0] => Name1
[1] => Name2
[2] => Name3
[3] => Name1
)
[array002] => Array
(
[0] => Name2
[1] => Name1
[2] => Name4
)
[array003] => Array
....
)
将输出
Array
(
[array001] => Array
(
[0] => Name1
[3] => Name1
)
[array002] => Array
(
[1] => Name1
)
[array003] => Array
....
)
当数组转换为字符串时,可以使用带有preg_replace的foreach循环实现可能的解决方案:$array = print_r($array,true);
答案 0 :(得分:1)
他们都没有工作..
我自己找到了解决方案:
foreach($array as $key => $value) {
foreach($value as $innerkey => $innervalue){
if($innervalue != 'Name1'){
unset($array[$key][$innerkey]);
}
}
}
答案 1 :(得分:0)
foreach($array as $key => $value) {
foreach ($value as $string) {
if ($string !== "Name1") {
unset($string);
}
}
}
答案 2 :(得分:0)
试试这个:
function removeElementDifferentValue($array, $value){
foreach($array as $subKey => $val){
if($val != $value){
unset($array[$subKey]);
}
}
return $array;
}
$array = removeElementWithValue($array, 'Name1');
答案 3 :(得分:0)
foreach($array as $key1 => $val1) {
foreach($val1 as $key2 => $val2) {
if(strcmp($val2,"Name1") != 0) {
unset($array[$key1][$key2]);
}
}
}