【发布时间】:2018-08-20 12:04:47
【问题描述】:
所以我试图在 foreach 循环内的 if 语句中删除数组...
<?php
foreach ($politics as $tag => $key):?>
<?php if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$vienodas = "SELECT * FROM pol WHERE (politikas = '$Veryga' AND ip = '$ip')";
$vienodasres = mysqli_query($conn, $vienodas);
if ( mysqli_num_rows($vienodasres) > 0){
//IT DOESN'T WORK
unset($politics[$tag]);
//IT DOESN'T WORK
}
?>
<div class="mySlides">
<?php $Veryga= $key['vardas'];
$Veryga2 = str_replace(' ', '', $Veryga);
?>
<div <?php echo 'id="'.$Veryga2.'"'; ?> class="politikai">
<..Not important code..>
</div>
<?php
endforeach; ?>
它不想工作,我正在尝试这样做,if 语句只是检查是否有等于用户 IP 的行和它们所在的幻灯片
【问题讨论】:
-
第一行为什么有冒号?
-
因为里面有 html 代码,而且它可以工作,并且在我用 endforeach 关闭 foreach 循环时,这不是花括号:)
-
@Jessedegans 这是控制结构的另一种语法。我更喜欢使用花括号。
-
@AndrewSchultz 谢谢 :)
标签: php arrays loops foreach unset