诡异,这句PHP看起来都对,可是无法得到正确结果。

php中文网
发布: 2016-06-23 14:05:27
原创
1173人浏览过

$screen_w = "<script>document.write(screen.width);</script>";if($screen_w < 500){echo '宽度小于500';}else{echo '大于等于500';}
登录后复制


直接 echo $screen_w; 可以得到正确结果是 1366

if判断的时候  结果却是  1366小于500

如果 (int)$screen_w   或者  intval($screen_w)

直接显示为0了

何解?

无涯·问知
无涯·问知

无涯·问知,是一款基于星环大模型底座,结合个人知识库、企业知识库、法律法规、财经等多种知识源的企业级垂直领域问答产品

无涯·问知 40
查看详情 无涯·问知

回复讨论(解决方案)

没有语法错误,就表示是对的吗?

1、php 先于 js 执行!即便是 $screen_w = "<script>document.write(screen.width);</script>"; 能得到数据,那也是 php 代码执行完了以后
2、$screen_w = "<script>document.write(screen.width);</script>";
是什么呢?只不过是个字符串赋值
即便有 echo $screen_w;
那也只是在浏览器中显示而已

var_dump打印出来,是46位的字符串,JS代码也算在里面了,用正则把数字匹配出来再比较就可以了。

好像不能匹配,我也不知道怎么把数字弄出来。

我以前也出现这种问题,基础不牢固啊

js   和  php  要分开,

首先要明白哪些是客户端的代码,哪些是服务端的代码,二服务端的代码是优先执行的,客户端的是后执行的

可是  php无法获取屏幕宽度啊   我想写一句判断  屏幕宽度小于主内容宽度时就不输出一个会挡住内容的浮动条

这些问题几乎是新手必经之路,十数年如是(偶当年也不例外,呵呵),为啥各种教材都不把这个写一写?

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号