php和js区别

2023-05-16

php和js区别

两者在语法上类似,楼上说的对,js=javascript是工作在浏览器端的脚本语言,他所提交的数据是交给浏览器来处理的。但是现在的Ajax技术已经可以把js提交的数据交付到浏览器来处理。
php,是工作在服务器端的脚本,把数据提交给服务器去处理,服务器再响应到浏览器,这个你要看下BS结构。如果学习建议:很多人先学的js,道理是没错,但是如果先学PHP的话,js就是带着需求来学习的,学的会更加有针对性。


嵌入页面方式

  JS嵌入方式:<script></script>

  PHP嵌入方式:<?php

         ?>(常用)

输出语法

Javascript输出

  1.alert("警告的内容")

  2.prompt("提示的内容")

  3.document.write()(页面输出内容)

PHP输出

  1.echo(常用)//可同时输出多个字符串  eg:echo $a,"hello";

  2.print  //只能输出一个字符串      eg:print $a;

  3.print_r();//可以打印数组

  4.var_dump();//可输出变量的内容、类型和长度

数据类型

JS数据类型

  整型(整数)int

  单精度小数  float

  双精度小数  double

  小数 decimal

  布尔型 bool(只能存两个状态)

  日期时间类型 datetime

  字符 char(不常用)强

  字符串 string(不常用)强

PHP数据类型

    bool    布尔型(存储两种状态)
    int        整型
    float(double)    浮点型
    char    字符
    string    字符串

定义变量

JS定义变量:var a = 10;

(注意:1.如果定义整数或小数的变量,等号后面的值直接写

    2.如果定义字符串变量,等号后面的值需要加双引号或单引号)

PHP定义变量: $a = 5;  $a = "hello";  $a = <<<A  定义的字符串内容 //也可放HTML代码  A;                 

(注意:1.如果定义整数或小数的变量,等号后面的值直接写

    2.如果定义字符串变量,等号后面的值需要加双引号或单引号)

字符串拼接

JS中字符串拼接:"+";  eg:"hello"+"world"

PHP中字符串拼接:".";   eg:"hello"."world"

PHP特有的变量特征

    // 转义字符:一般用在字符串里面,用来输出特殊的内容
    //  \" 输出双引号    \t 制表符    \n 换行

 eg:$s = "wo\"rld"; //转义加引号  $s = "wo\trld";  //转义制表  $s = "wo\nrld";  //转义换行
    $a = "你好";

 //解析变量
    $b = "hello{$a}";  //输出hello,你好

类型转换

JS中类型转换

  1.转化为整数:parseInt();
    2. 转化为小数:parseFloat();

  3.判断是否为合法数字类型:isNaN();

PHP中类型转换

  1.$a = (Int)$a;  //强制转化变量a为整数

  2.$b = settype($b,"string");  //强制转化变量a为字符串

PHP中关于变量的常用函数

  $s = 5;

  1.var_dump(empty($s));  //empty($s)判断变量s是否为空,可以为0,可以为空字符串,也可以是未定义

  2.unset($s);  //删除变量s

  3.var_dump(isset($s));  //isset($s)判断变量s是否定义

PHP中的特殊用法

1.变量取地址

  $a = "hello";

  $b = &$a;  //&代表取变量的地址

  echo($b);  //输出结果为hello

2.可变变量

  $s = "hi";

  $hi = "你好";

  echo $$s;  //输出的是 你好

 

适合的工具做适合的事。

  • 切豆腐是用【电锯】好还是【菜刀】好?
  • 砍树是用【电锯】好还是【菜刀】好?

用上牛逼的工具不等于人就变得牛逼了。

  • 拿一把好菜刀也变不成大厨。
  • 坐到驾驶舱也变不成飞行员。

什么领域都有天花板。

  • 菜做得再好也只能是【厨师】
  • 树砍得再好也只能是【伐木工】。



浏览器是JS的主场,但服务器不是JS的主场.服务器不像浏览器只能跑JS. JS在服务器的运行环境(Node)跟浏览器差别很大. 在服务器Node应用是以一个独立的守护进程运行, 代码稍有不慎就可能导致进程崩溃退出, 而且修改代码需要重启Node进程才能生效(那些自动化工具nodemon/pm2本质也是重启服务). 服务器的PHP跟浏览器反而更像,都是提供一个比较稳定的容器来执行脚本. 所以一个PHP虚拟主机环境可以稳定运行多个PHP站点.你很难写出让PHP容器(如PHP-FPM和Apache)发生崩溃的PHP代码. 浏览器也会尽量避免因为网站JS的问题导致的崩溃. 比如浏览器Chrome/Firefox跟PHP-FPM用的都是多进程架构. 子进程崩溃并不会影响主进程,主进程可以重新启动一个子进程提供服务.

看看已经逝去的ASP,连Java开发者都不爱的JSP,寂寥落寞的RoR,以及一直自嗨的Python Web,你就会知道,现在动不动鼓吹全栈的Node迟早也是这其中的一员.

Google不喜欢JS,想推自己的Dart,但没成功.Microsoft不喜欢JS,想推自己的TypeScript.Facebook也不太满意JS,所以React搞了自己的JSX.可见在浏览器端JS也不是谁都满意,更别说好事者把V8移植到服务器的Node方案了.

要说哪个语言曾经严重威胁过PHP的市场,我会说那个语言是ASP,不过还好,微软为了对付JavaEE,放弃了ASP,搞了类Java Web的ASP.NET,加上ASP无法跨平台且不开源,自然也就在与PHP的竞争中落败.

唱衰PHP的声音一直都有,但草根英雄PHP从来都用质朴的实力来教对手做人.因为PHP贯彻的是实用主义和群众路线思想, 所以没有豪门支持的PHP照样能在互联网上雄霸一方.

PHP的成功在于坚定不移地走群众路线. 量变(用户量/代码量)引起质变. 用户量体现在互联网上有超过82%的网站使用PHP驱动.代码量体现在PHP自带的各种功能扩展以及使用PHP开发的各种博客/论坛/商城系统.

只有比PHP更PHP的语言才有可能取代PHP. "更"体现在比PHP更简单,更实用,更高效,学习/开发/运维成本更低. 我很乐于见到这么一门语言出来,但很显然,现在还没有.

补充:

 

@孙子平
谁说有V8 JIT支持的Node性能就一定比PHP强?生成一个包含100万个元素的关联数组, PHP7耗时0.9秒,而Node耗时1.5秒,环境是Ubuntu 14.04,处理器是i5-3230M,有图有真相.连Facebook的HHVM都不能干翻PHP7,你就知道鸟哥到底有多强.

 

&amp;lt;img src="https://pic2.zhimg.com/50/v2-94ba8b3e3c46076ee1175a203a5a9623_hd.jpg" data-rawwidth="450" data-rawheight="620" class="origin_image zh-lightbox-thumb" width="450" data-original="https://pic2.zhimg.com/v2-94ba8b3e3c46076ee1175a203a5a9623_r.jpg"&amp;gt;

因为我用的是PHP 7.0.0版本来测试,所以PHP显示出来的性能优势没有孙子平这位网友使用PHP 7.1.4来的明显.在孙子平这位网友的测试中,PHP7耗时仅为Node.JS7的1/3. https://pic2.zhimg.com/v2-668a4ac0dfe2216230ac4da903adc155_b.png

附上跟Java7的对比,没想到Java还没Node快,怎么跟PHP比?

&amp;lt;img src="https://pic1.zhimg.com/50/v2-249483425f7743a745a910e5a6fadd2a_hd.jpg" data-rawwidth="1096" data-rawheight="470" class="origin_image zh-lightbox-thumb" width="1096" data-original="https://pic1.zhimg.com/v2-249483425f7743a745a910e5a6fadd2a_r.jpg"&amp;gt;


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php和js区别 的相关文章

  • 使用 Swift 邮件程序发送邮件时出现错误 501

  • PHP中如何有效防止跨站请求伪造(CSRF)

    我正在努力阻止CSRF https www owasp org index php Cross Site Request Forgery CSRF in php questions tagged php通过以下方式 A SESSION to
  • 获取资源 #id 3 错误

    当我运行此命令时 得到资源 id 3 结果 请查看我的代码并帮助我解决这个问题 拜托
  • 如何编写一个 SQL 查询来计算每月和每年的行数?

    有谁知道如何查询 vbulletin 数据库来生成每月 每年注册数量的报告 以获得如下结果 MM YYYY Count 01 2001 10 02 2001 12 感谢下面的这些答案 我的最终版本有效如下 SELECT COUNT as R
  • 是否存在用于解析 ASN.1 或基于它生成 PHP 代码的 PHP 库?

    我已经审视过自己了 但今天我的 Google fu 似乎并不强 我正在努力开发一种标准化协议 用于通过 TCP IP 连接在 Apache PHP 服务器和微控制器上的嵌入式 C 代码之间交换数据结构 我们使用 ASN 1 表示法 我真正想
  • 如何通过 md5 比较图像?

    该方法是否比较图像的像素值 我猜它不会起作用 因为它们的尺寸彼此不同 但如果它们相同但格式不同怎么办 例如 我截图并保存为 jpg另一个并保存为 gif MD5哈希是实际的二进制数据 因此不同的格式将具有完全不同的二进制数据 因此 要使 M
  • 在 WordPress 中挂钩 AJAX

    我一直在深入研究 Javascript 和 AJAX 的世界 我非常接近 但由于某种原因 我认为我没有正确地连接到 wordpress ajax 函数 我已经仔细阅读了文档和这个 认为 99 都在那里 这个应用程序的作用是有一个项目列表 每
  • 使用 php 将 swf 转为 pdf

    有没有办法使用 php 将 SWF 转换为 pdf 我的意思是该页面有一个按钮 单击它必须将 swf 内容导出为 pdf 格式 您可以尝试的一种方法是使用ffmpeg http www ffmpeg org 使用 image2 输出编解码器
  • Gmail 搜索怎么这么快?

    搜索这么多字符的最有效方法是什么 你怎么认为 假设网站是用 PHP 和 MySQL 构建的 我应该学习什么才能尽可能有效地构建它 有什么我应该学习的算法吗 文本索引算法 https stackoverflow com questions 4
  • MySQL分层存储:搜索所有父母/祖父母等。给定子节点 id 的节点?

    我使用分层模型存储类别 如下所示 CATEGORIES id parent id name 1 0 Cars 2 0 Planes 3 1 Hatchbacks 4 1 Convertibles 5 2 Jets 6 3 Peugeot 7
  • Laravel - 重复键批量插入更新大数据集

    我有大约 80k 条记录 每天需要多次运行插入 更新脚本 INSERT INTO my rankings id rank VALUES 1 100 2 99 3 102 80000 3 ON DUPLICATE KEY UPDATE ran
  • 如何更改数组键从 1 而不是 0 开始[重复]

    这个问题在这里已经有答案了 我在某个数组中有值 我想重新索引整个数组 以便第一个值键应该是 1 而不是零 即 默认情况下 PHP 中的数组键从 0 开始 即0 gt a 1 gt b 我想重新索引整个数组以从 key 1 开始 即1 gt
  • 无法访问扩展 Symfony\Bundle\FrameworkBundle\Controller\Controller 的控制器中的 Symfony2 容器

    原始问题 我已经阅读了 book http symfony com doc current book service container html 关于服务容器 我仍然感到困惑 因为几乎每次我尝试使用时 事情似乎都随机不起作用 this g
  • 根据用户的时间设置问候语(早上好,下午好......)

    任何人都可以推断如何根据用户的时间设置实现基本的 晚上好 或 早上好 也许 PHP 会获取服务器时间 但我希望用基于时间的适当问候语来问候网站访问者 并考虑到他们一天中的时间 E G 早上好 晚上好 下午好 基于它 getHours 日期对
  • 如何确定网站的语言

    我有一个网站的网址 需要找出该网站使用哪种语言 无论是西班牙语 法语 意大利语等 该网站的顶级域名是 com 这根本没有帮助 我无法简单地检查字符串是否包含 de fr 或任何其他国家 地区代码 我试图得到lang的属性html标签 但有很
  • 使用 Hudson 将构建与部署分开

    我们已经开始使用Hudson 目前的工作流程是 本地签出 gt 代码 gt 运行测试 gt 更新 gt 运行测试 gt 提交 Hudson 并不进行轮询 而是只是坐在那里 直到我们实例化构建 然后它 本地结帐 gt 运行 Phing 脚本
  • Twitter URL 编码

    我们即将发起一场小小的推特圣诞竞赛 但我遇到了一些小障碍 要进入 人们需要按以下格式发布推文 user blah blah blah hashtag 目前 我有一个表单 他们可以在其中输入答案 废话 废话 废话 和一个 PHP 脚本 该脚本
  • 如何只允许从我的 iOS 应用程序访问我的 MySQL 数据库? (使用webapp作为数据库的网关)

    我的 iOS 应用程序需要连接到 mysql 服务器 为了实现这一目标 我想创建一个 Web 应用程序 充当客户端应用程序和服务器端数据库之间的中间人 我担心的是 有人可以简单地找出我的应用程序使用的 URL 并传递他们自己的 URL 参数
  • 在 PHP 上发送不带 SMTP 标头的 SMS

    我正在尝试使用以下对我有用的代码通过 PHP 发送短信验证码 但我越来越 email protected cdn cgi l email protecti
  • 单击保存文件

    我希望能够通过单击下载 csv 文件 而不是在浏览器中打开 我把这段代码 a href file csv download file a 但单击它会在浏览器中打开 v 文件 在本地主机中 当我单击链接时 它正在下载 但在服务器上时 它在浏览

随机推荐

  • 红米手机5 Plus启用root超级权限的步骤

    红米手机5 Plus怎么开启root超级权限 xff1f 做开发的人清楚 xff0c Android机器有root超级权限 xff0c 一旦手机开启root相关权限 xff0c 就可以实现更强的功能 xff0c 举个栗子做开发的人企业的营销
  • 基于vue解决大数据表格卡顿问题

    点我在线体验Demo 请用电脑查看 亲测苹果电脑 xff0c chrome浏览器无卡顿现象 xff0c 其它浏览器并未测试 xff0c 如遇到卡顿请备注系统和浏览器 xff0c 方便我后续优化 xff0c 谢谢 先看一下效果 一共1000
  • raid1损坏一块盘之后的处理方式

    在企业生产环境中 xff0c 假如raid1两块盘中的一块损坏了 xff0c 后续如何处理 xff1f 直接换下损坏的磁盘是否会对服务有影响 xff08 如何把影响降到最低 xff09 xff0c 加入新的磁盘后是否还需要重新做raid1
  • Landsat Tm5辐射定标和大气校正(转)

    一 辐射定标 1 由于ENVI 4 4 中有专门进行辐射定标的模块 xff0c 因此实际的操作十分简单 将原始TM 影像打开以后 xff0c 选择 Basic Tools Preprocessing Calibration Utilitie
  • Traversing the Dept Security tree

    We can use the connect by prior function provided by Oracle to traverse the Dept security Tree Suppose an Organization h
  • Reconfigurable computing[可重构计算]

    在实验室跟老师做一些硬件加速相关的东西 xff0c 看文献时看到Reconfigurable computing xff0c 发现这个很有意思 现在每天都有越来越多的数据产生 xff0c 要处理这些数据如果单纯用CPU计算的话会耗费很多时间
  • 嵌入式作业STM32采用串口DMA方式发送数据

    目录 前言 要求 一 DMA的基本介绍 DMA的基本定义 DMA的主要特征 STM32F411x系列芯片DMA控制器 二 通过CubeMX配置项目 1 创建项目 2 选择芯片STM32F103C8T6 3 设置RCC 4 设置串口 5 设置
  • C ~ char int 等数据转换问题

    1 xff0c char型数字转换为int型 char a 61 34 32 34 printf 34 d n 34 a 0 39 0 39 输出结果为3 2 xff0c int转化为char 1 字符串转换成数字 xff0c 用atoi
  • curl get请求添加header头信息

    function get url ch 61 curl init curl setopt ch CURLOPT HTTPGET true curl setopt ch CURLOPT RETURNTRANSFER 1 TRUE 将curl
  • 关于 RESTFUL API 安全认证方式的一些总结

    常用认证方式 在之前的文章 REST API 安全设计指南 与 使用 AngularJS amp NodeJS 实现基于 token 的认证应用 两篇文章中 xff0c 译 web权限验证方法说明 中也详细介绍 xff0c 一般基于REST
  • C++ REST SDK的基本用法

    微软开发了一个开源跨平台的http库 C 43 43 REST SDK xff08 http casablanca codeplex com xff09 xff0c 又名卡萨布兰卡Casablanca xff0c 有个电影也叫这个名字 xf
  • ubuntu下socket通信

    之前的博文介绍了如何在ubuntu下实现unix domain socket通信 xff0c 但只是本地的通信 xff0c 虽然过程和网络通信很类似 xff0c 但这里还是有必要了解下真正的socket通信 首先贴出server端的c代码
  • c语言中宏定义中void,C语言中宏定义几道问题!

    C语言中宏定义几道问题 xff01 答案 1 信息版本 xff1a 手机版 解决时间 2020 04 27 20 44 已解决 2020 04 27 17 15 一 执行下列程序 define MA x y x y k 61 5 k 61
  • IE浏览器自动配置脚本的使用(代理上网)

    以前在FireFox中设置过代理服务器自动配置脚本 xff0c 对于访问某些无法访问的网站非常有效 xff0c 在IE中应该也是有效的 xff0c 但是我配置了好几次都没有配置成功 xff0c 今天发现原来是格式错误 xff0c 修改了一下
  • c语言中通过指针将数值赋值到制定内存地址

    1 一种直观的方法 假设现在需要往内存0x12ff7c地址上存入一个整型数0x100 我们怎么才能做到呢 xff1f 我们知道可以通过一个指针 向其指向的内存地址写入 数据 xff0c 那么这里的内存地址0x12ff7c其本质不就是一个指针
  • 一个封装HTTP请求的函数(C++)

    这里封装 了HTTP请求的 xff0c 支持GET与POST xff0c 并支持各种参数组合 xff0c 调用方式很简单 使用DEVWEB WebRequest string http www luaie com ret 就可以了 如果使用
  • c++ vector 用法总结

    vector 是向量类型 xff0c 它可以容纳许多类型的数据 xff0c 如若干个整数 xff0c 所以称其为容器 vector 是C 43 43 STL的一个重要成员 xff0c 使用它时需要包含头文件 xff1a include lt
  • ubuntu命令行语法_HTTPie:超爽的HTTP命令行客户端

    之前在命令行下进行HTTP服务的调试和信息查看都是使用经典的cURL xff0c 不过前段时间发现一个交互更加友好的工具 xff0c 就是HTTPie 先放一个HTTPie官方的一个HTTPie VS cURL的图给大家看看 如果你经常需要
  • 如何用c语言串口通讯,串口通信入门

    在讲解本章的内容之前请大家先反复阅读 手把手教你学51单片机 文档的第11章内容 xff0c 很多概念文档都已详细讲解有 1 波特率 串口通信就是单片机与电脑端 xff0c 单片机与单片机 xff0c 单片机与模块器件之间互发信息进行通信
  • php和js区别

    php和js区别 两者在语法上类似 xff0c 楼上说的对 xff0c js 61 javascript是工作在浏览器端的脚本语言 xff0c 他所提交的数据是交给浏览器来处理的 但是现在的Ajax技术已经可以把js提交的数据交付到浏览器来