朋友我是php新手。我在玩数组。所以我无法使用数组解决一个登录。在这个程序中,我想显示数组限制。我有数据来自数据库。但我想显示限制数据(仅限10个帖子)。我知道MYSQL查询显示限制数据。但我正在尝试阵列。所以请帮助解决这个逻辑谢谢。
这是代码。
$reverse = array_reverse($showpost, true);
foreach ($reverse as $key=>$postvalue) {
$latestpost = explode(',', $postvalue['postcategory']);
if (in_array("3", $latestpost)) {
// result here...
}
}
我已保存此格式的类别(1,2,3,4,5,6)。这就是我使用explode()函数的原因。 我的数据库字段名称是(post_id,postname,postcategory,postdisc,)。
答案 0 :(得分:1)
不确定我是否正确理解了问题,但我认为它可能与this link
有关$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
答案 1 :(得分:0)
您可以使用array_chunk()
功能
代码:
<?php
$reverse = array_reverse($showpost, true);
foreach($reverse as $key=>$postvalue){
$latestpost = explode(',', $postvalue['postcategory']);
$chunks = array_chunk($latestpost, 3);
print_r($chunks);
}
?>
答案 2 :(得分:0)
如果您只想显示10行,result here...
是每个帖子的显示位置,那么这样的内容可能会有效:
$postsShown = 0;
$reverse = array_reverse($showpost, true);
foreach ($reverse as $key => $postvalue) {
if ($postsShown >= 10) {
break;
}
$latestpost = explode(',', $postvalue['postcategory']);
if (in_array("3", $latestpost)) {
// result here...
$postsShown++;
}
}
所有这一切都计算使用$postsShown
变量显示的帖子数量,并在显示新帖子时递增。当此变量达到10(IE,显示10个帖子)时,将使用break
命令终止循环。
答案 3 :(得分:0)
也许您可以使用会话变量来保存用户用于记录的少量尝试,并在服务器中对其进行验证。
使用此代码可以创建会话变量:
session_start();
$_SESSION['name_of_my_variable'] = 'value of my session variable';
例如,每次用户尝试登录时,您都可以在会话变量中增加计数器的值:
第一次需要创建会话变量时:
session_start();
$_SESSION['log_counter'] = 1;
然后下一次尝试递增计数器,如下所示:
session_start();
$log_counter = $_SESSION['log_counter'];
$log_counter++;
$_SESSION['log_counter'] = $log_counter;
检查用户是否已达到限制:
session_start();
if ($_SESSION['log_counter'] == 10)
{
echo "Limit reached";
}
这是最终代码:
// init session variables
session_start();
// Check if exist the session variable
if (isset($_SESSION['log_counter']))
{
// Enter here if the session variable exist
// check if the log_counter is equals to the limit
if ($_SESSION['log_counter'] == 10)
{
echo "Limit reached";
}else
{
// increase the counter
$log_counter = $_SESSION['log_counter'];
// this increate 1 more to the log_counter session variable
$log_counter++;
// here we save the new log_counter value
$_SESSION['log_counter'] = $log_counter;
}
}else
{
// Enter here if not exist the session variable
// this create the log_counter session variable
$_SESSION['log_counter'] = 1;
}