Php 带有if块的jQuery语法

Php 带有if块的jQuery语法,php,if-statement,syntax,Php,If Statement,Syntax,我正在尝试创建一个if块,它根据屏幕宽度将3或4吐出到$postno变量中。3或4意味着$arg变量将创建3或4个帖子 我已经试过了,但显然是错的,我不知道语法,因为我还是个新手。有人能解释一下吗?提前谢谢 $args = array( 'posts_per_page' => $postno, ); if($(window).width() >= 1024) { $postno=4; } else { $postno=3 } 你把P

我正在尝试创建一个if块,它根据屏幕宽度将3或4吐出到$postno变量中。3或4意味着$arg变量将创建3或4个帖子

我已经试过了,但显然是错的,我不知道语法,因为我还是个新手。有人能解释一下吗?提前谢谢

$args = array(
    'posts_per_page'    => $postno,
);  

if($(window).width() >= 1024) {
$postno=4;

} 
else {
        $postno=3
    } 

你把PHP和jQuery搞混了。PHP是服务器端语言,jQuery是浏览器端语言。除非使用jQuery通过Ajax等传递该值,否则PHP无法判断访问者窗口的宽度

即使这样,如果您试图使用PHP将块限制为3或4,那么在访问者加载文档之前,您不会传递屏幕宽度

最好使用jQuery检测屏幕宽度,就像您已经做的那样
$(window).width()
,然后使用CSS隐藏/显示正确的块数。这可以通过溢出和/或显示无/块来实现

例如:

var width = $(window).width();

if(width >= 1024) {
    $('.block-4').show();
} else if(width < 1024) {
    $('.block-4').hide();
}
blocks.php

<?php
    $width = $_POST['width'];
    if($width >= 1024) {
        echo '4';
    } else {
        echo '3';
    }
?>


因此,这将把用户的屏幕宽度发布到一个名为blocks.PHP的PHP文件中,该PHP文件将根据屏幕大小返回4或3,然后使用jQuery将名为“content”的类的内容更新为4或3。

您将PHP和jQuery混淆在一起。PHP是服务器端语言,jQuery是浏览器端语言。除非您使用jQuery通过使用Ajax等传递该值,否则PHP无法判断访问者窗口的宽度。您到底想在这里做什么
$(window).width()
不是PHP。我同意@Karl的说法,无论如何你的代码对我来说毫无意义。@Mike Jackson问个恰当的问题。你到底想干什么?我说过我是新手!如果屏幕宽度超过1024,我尝试获取值“3”,否则我希望该值为4。然后我想在$args PHP变量中插入该值。我的代码显然是垃圾,无法工作。这就是为什么我在这里询问advice我宁愿不使用CSS。正如我认为的那样,也可以通过“posts\u per_page”=>''参数改变帖子的显示方式。因此,如果屏幕宽度超过1024,我希望我的if块吐出值“3”,否则我希望它是“4”。我知道这可能是一个简单的问题,但我对jQuery是新手。正如你可能知道的!是的,可以做到。但是PHP要么需要A)吐出所有的块,然后使用jQuery更改可见的块,要么B)不吐出任何块,然后可以对准备好的PHP文件的文档执行Ajax调用,以便跨宽度发送并接收正确数量的块,然后作为回调更新页面。
<?php
    $width = $_POST['width'];
    if($width >= 1024) {
        echo '4';
    } else {
        echo '3';
    }
?>