[英]How to delete value from mupltiple array using key in PHP
我需要一个帮助。 我需要通过使用PHP匹配键来从多个数组中删除值。 我在下面解释我的代码。
$str="ram,,madhu,kangali";
$strid="1,2,,3";
$arr=explode(",",$str);
$arrId=explode(",", $strid);
我有两个数组, ie-$arr,$arrId
,它具有一些空白值。 在这里,我需要如果数组值中的任何一个为空,则该值将被删除,并且另一个数组中的相同索引值也将被删除。 eg-suppose for $arr the 1 index value is blank and it should delete and also the the first index value ie-2 will also delete from second array and vice-versa.
请帮我。
尝试这个:
$str="ram,,madhu,kangali";
$strid="1,2,,3";
$arr=explode(",",$str);
$arrId=explode(",", $strid);
$arr_new=array();
$arrId_new=array();
foreach ($arr as $key => $value) {
if(($value != "" && $arrId[$key] != "")){
array_push($arr_new, $value);
array_push($arrId_new, $arrId[$key]);
}
}
var_dump($arr_new);
var_dump($arrId_new);
尝试:
foreach ($arr as $key => $value) {
if ( empty($value) || empty($arrId[$key]) ) {
unset($arr[$key]);
unset($arrId[$key]);
}
}
您可以将两个列表压缩在一起,然后仅保留两个字符串都不为空的条目:
$zipped = array_map(null, $arr, $arrId);
$filtered = array_filter($zipped, function ($tuple) {
return !empty($tuple[0]) && !empty($tuple[1]);
});
$arr = array_map(function($tuple) {return $tuple[0];}, $filtered);
$arrId = array_map(function($tuple) {return $tuple[1];}, $filtered);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.