search
HomeBackend DevelopmentPHP Tutorialphp语法,字符串类型?

php语法,有没有规定:定义字符串时,字符串一定要加单引号,双引号或不加任何符号。

如:
$x=123;
$y="123";
$z='123';

这3个变量,它们是不是一样呢?


回复讨论(解决方案)

第一个是整型  后两个一样,是字符串型.

但是纯数字的字符串在PHP里边有时候也可以当数字用

比如$x = "123";
echo $x*3;
结果是369

可以用getType()函数来检查类型

$x=123;
这个语句是将整形量赋给了$x

$x="123";和$x='123'的赋值操作结果是一样的
都是将字符串"123" 赋给了$x 是字符串类型的

至于单引号和双引号的解释请看此帖
http://bbs.csdn.net/topics/390535456

在没有任何符号的情况下,PHP是怎样判断它是什么类型?
$x=123;
$x=abc;
它们的类型相同么?

$x = 123;
毫无异议,平衡品会视为整数
echo gettype($x); //integer
var_dump($x); //int(123)

$x = abc;
php 先检查这个 abc 是否为常量,如果是就取常量 abc 的值
否则发出警告 Notice>:  Use of undefined constant abc - assumed 'abc'
然后解释为字符串
echo gettype($x); //string
var_dump($x); //string(3) "abc"

看到xu大也用拼音输入法  顿时很开心

$x = 123;
毫无异议,平衡品会视为整数
echo gettype($x); //integer
var_dump($x); //int(123)

$x = abc;
php 先检查这个 abc 是否为常量,如果是就取常量 abc 的值
否则发出警告 Notice>:  Use of undefined constant abc - assumed 'abc'
然后解释为字符串
echo gettype($x); //string
var_dump($x); //string(3) "abc"

$x = 123;    //自动类型转换为:整型
 
$x = abc;     //自动类型转换为:字符串

对不对?

我已经说的很清楚了

我已经说的很清楚了

不过,看的不是很明白!

如果你非要按“非白即黑”的思维定式去理解,那的确是弄不明白

php 的识别过程是这样的
是数字吗?是 赋值结束
是常量吗?是 赋值结束
那就当做字符串吧

PHP  习惯写法字符型是单引号,变量值是双引号

首先,你写源码的都是文本字符,当php去分析源码时,会按照这个字符的规律来识别相应的数据格式。

$x=123; //1
$y="123"; //2
$z='123'; //3

对于php分析时:
1 会被理解成赋值语句,因为有=这个文本字符,那么左边$x是一个变量标识符,右边是“123”连续的3个文本字符。
检测第一个文本字符是一个数字,就使用int的数据格式去匹配后面的文本字符(简单说就是连续的数字组成,正则表示为\d+)时,发现能匹配上,那么这个变量的就是int类型。

2 同样$y和“"123"”(2个"字符包含的连续文本),那么检测到第一个是",符合string数据格式的双引号规则的开头,那么就用双引号规则(简单说就是开头是",结尾是",并且当中没有"或者"的前面是\,正则表示为"([^"]|\\")+")匹配,发现能匹配上就是string类型

这就是php识别源代码的逻辑,用学名就叫语法分析器,经过了语法分析器以后,就知道你的变量是什么类型。 

php是弱类型语言,变量不需要声明类型。

首先,你写源码的都是文本字符,当php去分析源码时,会按照这个字符的规律来识别相应的数据格式。

$x=123; //1
$y="123"; //2
$z='123'; //3

对于php分析时:
1 会被理解成赋值语句,因为有=这个文本字符,那么左边$x是一个变量标识符,右边是“123”连续的3个文本字符。
检测第一个文本字符是一个数字,就使用int的数据格式去匹配后面的文本字符(简单说就是连续的数字组成,正则表示为\d+)时,发现能匹配上,那么这个变量的就是int类型。

2 同样$y和“"123"”(2个"字符包含的连续文本),那么检测到第一个是",符合string数据格式的双引号规则的开头,那么就用双引号规则(简单说就是开头是",结尾是",并且当中没有"或者"的前面是\,正则表示为"([^"]|\\")+")匹配,发现能匹配上就是string类型

这就是php识别源代码的逻辑,用学名就叫语法分析器,经过了语法分析器以后,就知道你的变量是什么类型。 

第三个怎分析啊?

php语法规定,字符串一定加双引号或单引号,内容可以是数字,字母,字符。对不对?

如:
$x='a*12';      //对
$x="a*12";     //对
$x=a*12;        //语法错误。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP初学者必知的5个基本概念PHP初学者必知的5个基本概念Jun 21, 2023 am 10:24 AM

随着Internet技术的不断发展,PHP作为一门Web编程语言,越来越受到大家的喜爱。PHP的使用非常广泛,从简单的静态网站到大型的电子商务网站都可以使用PHP进行开发。无论是刚开始学习PHP的新手还是已经有一定经验的开发者,掌握一些基本概念都是非常必要的。在本文中,我将介绍PHP初学者必知的5个基本概念。变量PHP的变量是用来存储数据的容器。在PHP中,

PHP入门指南:PHP基础语法PHP入门指南:PHP基础语法May 20, 2023 am 08:39 AM

PHP是一种服务器端脚本语言,它被用来开发动态网站、Web应用程序和网页程序。PHP的应用范围非常广泛,无论是初学者还是有经验的开发人员,都可以从中获益。本文将为您提供PHP的基础语法入门指南。如果您想学习PHP编程,并且从头开始打好基础,那么您来对了地方。PHP的基本结构一个PHP程序包含以下三个部分:<?php//PHP代码?>代码两边的&

如何解决PHP中的常见问题:语法错误和警告如何解决PHP中的常见问题:语法错误和警告Jun 11, 2023 pm 04:13 PM

PHP是一种广泛使用的服务器端编程语言,常用于构建动态网页。然而,在编写PHP脚本时,常常会遇到各种语法错误和警告。这些错误和警告可能导致代码无法正常运行或者出现问题,因此解决这些问题是非常重要的。本文将介绍PHP中的常见问题:语法错误和警告,并提供如何解决这些问题的有效方法。语法错误当在PHP中编写脚本时,语法错误是非常常见的问题。语法错误可能是由以下原因

如何切实提高PHP编程的水平?如何切实提高PHP编程的水平?Jun 12, 2023 am 08:57 AM

PHP作为一种在Web开发中广泛应用的语言,它的普及程度和使用率相当高。许多初学者在学习PHP编程时都会遇到一些困难,比如不知道如何提高编程的水平。下面我们将介绍一些方法,让你更容易地提高自己的PHP编程水平。学习最新技术互联网技术的更新速度非常快,PHP也不例外。如果想要成为一名优秀的PHP程序员,首先要学习最新的PHP技术,掌握最新的Web开发技术,如M

PHP开发经验分享:构建高效功能的技巧与建议PHP开发经验分享:构建高效功能的技巧与建议Nov 22, 2023 am 10:45 AM

PHP是一种广泛使用的服务器端脚本语言,用于开发动态网页和Web应用程序。许多网站和应用程序都使用PHP作为其后端开发语言,因此,掌握PHP开发技巧和经验对于构建高效功能至关重要。在本文中,我将分享一些我在PHP开发中学到的经验和技巧,旨在帮助开发人员提高他们的编码能力和构建高效功能的能力。精选适当的开发工具和框架在开始PHP开发之前,选择适当的开发工具和框

PHP入门到高级 -- 学习基础语法和概念PHP入门到高级 -- 学习基础语法和概念Sep 09, 2023 am 10:01 AM

PHP入门到高级--学习基础语法和概念引言:PHP(HypertextPreprocessor)是一种流行的服务器端脚本语言,广泛应用于Web开发。在本文中,我们将从入门级别开始,逐步深入学习PHP的基础语法和概念,并提供代码示例供大家参考。一、PHP的安装与配置在开始学习PHP之前,首先需要在你的机器上安装PHP。你可以从官方网站(https://w

深入剖析PHP箭头符号的功能与特点深入剖析PHP箭头符号的功能与特点Mar 22, 2024 am 09:54 AM

PHP中的箭头符号(->)是一个非常重要的操作符,用于访问对象的属性和方法。本文将深入剖析PHP箭头符号的功能与特点,并提供具体的代码示例来帮助读者更好地理解其用法。在PHP中,箭头符号(->)主要用于访问对象的属性和方法。当我们创建一个对象时,可以通过箭头符号来访问该对象的属性或调用对象的方法。首先,让我们来看一个简单的示例,创建一个类并实例化

PHP入门教程:初学者必须掌握的基本语法PHP入门教程:初学者必须掌握的基本语法Jun 11, 2023 pm 09:45 PM

PHP被广泛应用于Web开发中,是一门服务器端脚本语言。在学习PHP之前,我们需要具备HTML和CSS的基础知识。下面将介绍初学者必须掌握的PHP基本语法。变量变量在PHP中使用$符号进行定义和赋值,如$variable=“helloworld”;。变量名必须以$符号开头,并且只能包含字母、数字和下划线。PHP中变量具有动态类型的特点,可以存储数字、字符串

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software