Php Can';t取消设置数组中的行
我试图删除数组中的空行,但我可以做到这一点。我需要一些帮助 以下是我尝试过的:Php Can';t取消设置数组中的行,php,Php,我试图删除数组中的空行,但我可以做到这一点。我需要一些帮助 以下是我尝试过的: $specialites = serialize($_POST['specialite']); foreach($specialites as $specialite) { if($specialite=='') unset($specialites[$specialite]); } 但每次都会出现错误(空白页)
$specialites = serialize($_POST['specialite']);
foreach($specialites as $specialite) {
if($specialite=='')
unset($specialites[$specialite]);
}
但每次都会出现错误(空白页)。我需要帮助。谢谢大家! 您需要取消设置
键
而不是值,并且不要像b0s3所说的那样序列化
foreach($specialites as $key => $specialite) {
if($specialite==''){
unset($specialites[$key]);
}
}
如果这仍然不起作用。您可以创建另一个变量并使用它
$newSpecialites = array();
foreach($specialites as $key => $specialite) {
if(trim($specialite)){ //trim spaces then check if its not empty
$newSpecialites[] = $specialite;
}
}
print_r($newSpecialites);
我检查了一个问题,即在
foreach
之前先调用了serialize
,这就是实际问题。所以实际上你需要这样做:-
$specialites = $_POST['specialite'];
foreach($specialites as $key=> $special) {
if(empty($special) || $special == '')
unset($specialites[$key]);
}
$specialites = serialize($specialites);
注意:-如果对变量调用了
serialize
,则它将不再是数组类型的变量。如果在运行循环之前serialize
,则它将不是数组。这就是为什么会出现错误(空白页)。您应该在修改后对其进行序列化
$specialites = $_POST['specialite'];
foreach($specialites as $key => $specialite) {
if(empty($specialite) || $specialite == '')
unset($specialites[$key]);
}
$specialites = serialize($specialites);
创建临时数组,然后在其中填充非空值
$temp_array=aray();
foreach($specialites as $key=>$specialite) {
if($specialite!='')
$temp_array[$key]=$specialite;
}
$specialites=$temp_array;
$\u POST['specialite']
中有什么内容?这是一个包含文本的数组it@Rameleu请投票表决的答案也如果答案是真的有用那么投票表决真的很感谢。如果上述答案没有给出预期的结果,那么投票支持这一点真的很奇怪@鲁利埃认为这会奏效。但是,最后一行是$specialites=serialize($specialites)@Anantkumarsing您应该删除第一个块并仅保留编辑,因为这不会有帮助。这看起来不错,但不会取消设置空变量。我仍然在屏幕上显示它。。我不知道为什么。请查收。有一件事,$key
不小心漏掉了。