目錄
php基础学习笔记(12),php基础学习笔记12
php基本语法
变量和常量
数据类型:
3种字符串类型的区别:
传值方式:
运算符:
数据类型转换
首頁 php教程 php手册 php基础学习笔记(12),php基础学习笔记12

php基础学习笔记(12),php基础学习笔记12

Jun 13, 2016 am 09:09 AM
php

php基础学习笔记(12),php基础学习笔记12

php基本语法

<?<span>php
    </span><span>//</span><span>这个是php单行注释</span>
    <span>/*</span><span>
        这是多行注释
    </span><span>*/</span>
    <span>//</span><span>每条php语句使用英文分号结束&mdash;&mdash;必须使用!
    </span><span>//</span><span>php是一门区分大小写的语言&mdash;&mdash;但函数名除外
    </span><span>//</span><span>php的任何一个变量名都要使用一个$符开头。</span>
?>
登入後複製

变量和常量

php中,变量使用一个$符号开头。变量通常是直接赋值(此时如果是第一次赋值也就表示定义)。

常量:设定一个其值不会也不应该改变的数据标识符(数据名字),比如数学上的“pi”。

$pi = 3.14; //这是变量

define(“PI”, 3.14); //这是定义一个常量,名字为“PI”,值为3.14,这里也就类似赋值

常量定义的同时也就是赋值,且只是这一次性的!

常量和变量的区别:

  • 常量前面没有美元符号($)
  • 常量只能用 define() 函数定义,而不能通过赋值语句赋值
  • 常量可以不用理会变量范围的规则而在任何地方定义和访问
  • 常量一旦定义就不能被重新定义或者取消定义
  • 常量的值只能是标量(即整数,浮点数,字符串,布尔)

数据类型:

基本类型(标量类型):

布尔类型(bool,boolean): 只有两个数据:true false

字符类型(string):可以是单引号,也可以是双引号,还可以是“定界符”格式

整数类型(int,integer):

$v1 = 10;

$v2 = 012; //以0开始的数字表示“8进制”整数,这里相当于10进制的10

$v3 = 0x1F; //以0x开始的数字表示16进制整数,这里相当于10进制的31

浮点类型(float,double)

$v4 = 12.34;

$v5 = 12.34e5; //12.34乘以10的5次方

复合类型:

数组类型:

对象类型:

特殊类型:

资源类型:表示某种“外界数据”的类型。

空类型(null):只有一个数据,就是“null”

3种字符串类型的区别:

$str1 = <span>"</span><span>abc\ndefg1</span><span>"</span>;    <span>//</span><span>双引号字符串中可以识别以下转义字符:\"  \n  \r  \t  \\  \$</span>
$str2 = <span>'</span><span>a\bc\ndefg2\\</span><span>'</span>;        <span>//</span><span>单引号字符串中只能识别以下转义字符:\'  \\。其中"\\"通常只用于最后一个字符
</span><span>//</span><span>下述为定界符字符串,其中的&ldquo;ABCD&rdquo;是随意命名的一个符号。字符串也就使用该符号结尾。
</span><span>//</span><span>定界符字符串中可以识别以下转义字符:\n  \r  \t  \\  \$</span>
$str3 = <<<<span>ABCD
abc\nde</span><span>"</span><span>f'g3</span>
<span>这叫做定界符字符串
这个范围的任何内容都是属于str3这个字符串的内容
换行也可以直接换
还可以写html和js等等。。。比如:
</span><hr />
<script><span>
    alert(</span><span>"</span><span>dddd</span><span>"</span><span>);
</span></script><span>
ABCD;
</span><span>//</span><span>特别注意:上述一行定界符字符串的结束符只能出现该名字本身和一个分号,不能有任何其他内容,比如空格,缩进(tab符)

</span><span>//</span><span>注意:在双引号字符串和定界符字符串中,可以直接识别变量并用该该变量的值来填充其内容。
</span><span>//</span><span>如果想要不被识别,则需要使用"\$"来将该$符号进行转义</span>
    $i = <span>5</span><span>;
    echo </span><span>"</span><span>$i=</span><span>"</span> . $i ;
登入後複製

传值方式:

值传递(赋值传值):将一个变量的值拷贝一份,然后赋值给另一个变量,此时两个变量的值相等(相同),但两个变量是完全独立的没有关联的变量。

默认情况下,在php中,简单数据类型和数组以及空类型使用值传递。

引用传递(引用传值):将一个变量多代表的“地址”复制一份然后赋值给另一个变量,也就是相当于两个变量同时指向(对应)一个相同的地址——此地址也就代表数据的位置。此时两个变量值相等的同时,也表示这两个变量其实指代的是一份共同的数据。

默认情况下,在php中,对象类型以及资源类型使用引用传递。

不过:

我们也可以人为将默认使用赋值传递的数据来使用引用传值。语法是:

变量1 = &变量2;

举例:

$v1 = 10;

$v2 = &$v1; //$v1和$v2此时代表“一个数据内容”

$v1++;

echo $v2;

对比js:

js中,只有默认传值方式,没有人为设定方式

js中:默认值传递的类型有:数字,字符,布尔,两个特殊类型

默认引用传值的类型有:数组, 对象

运算符:

l 算术运算符: + - * / % ++ --

  • +号只做“算术运算”,没有双重含义。
  • ++ --符号含义和用法完全同js。

l 写在变量前,则:先自加(自减),再做其他运算(比如赋值)

l 写在变量后,则:先做其他运算(比如赋值),再自加(自减)

  • %号只对整数进行取与运算,如果不是整数,会先自动转为整数再取余

l 比较运算符:== != > >= < <= ===(全等于) !==(不全等于)

  • ==通常表示“模糊相等”,===表示精确相等(只有数据类型和数据值都一样才等)
  • 模糊相等的各种情况请查手册:附录〉类型比较表

l 条件运算符:(expr1) ? (expr2) : (expr3),例:

  • 含义:对表达式exp1进行求值判断,判断结果如果是true,则整个表达式的结果就是exp2,否则整个表达式的结果是exp3
  • $v1 = $fs>60 ? "及格" : "补考" ; //则v1根据fs的值有两个情况
  • 补充知识:一元运算符有:!, ++, --, ~,, 二元运算符就是我们用得最多的运算符,三元运算符就这一个。

l 逻辑运算符:&&(与) ||(或) ! (非)

  • 逻辑与&&: 只两个数据都是true的时候,结果才是true
  • 逻辑或||: 只要有一个数据是true的时候,结果就是true
  • 逻辑非!: 取逻辑数据的相反值。

l 字符串运算符:. (即英文句号) .=(即类似“+=”)

  • .=只是一个“简写法”而已,$v1 = $v1 . “abc”; è $v1 .= “abc”;

l 位运算符:&(与) |(或) ~(非) ^(异或) <<(左移) >>(右移)

  • 位运算符都是针对数字的二进制来进行的。
  • 按位与&:只有两个对应位上的数字都是1的时候结果才是1
  • 按位或|:只要有一个对应位上的数字是1,结果就是1
  • 按位非~:取反,即1变成0,0变成1
  • 按位异或^:两个对应位上的数字不同的时候结果就是1

l 赋值运算符: = += -= *= /= %= .=

运算符的优先级问题:基本同js。

数据类型转换

在js中,基本没有数据类型转换的概念,实际的转换都是“自动发生”的——默认转换。

js中有两个“类似”类型转换的函数: parseInt(….) parseFloat(…)

php中,既有默认转换,也有强制转换。

默认转换举例:

$v1 = <span>10</span> - &ldquo;<span>3</span>&rdquo;;        <span>//</span><span>7;</span>
    $v2 = <span>10</span> + &ldquo;<span>3</span>&rdquo;;        <span>//</span><span>13;</span>
    $v3 = <span>10</span> + &ldquo;3abc&rdquo;;    <span>//</span><span>13;</span>
    $v4 = <span>10</span> + &ldquo;<span>3</span>.5abc&rdquo;;    <span>//</span><span>13.5;</span>
    $v5 = <span>10</span> + &ldquo;abc3&rdquo;;    <span>//</span><span>10;</span>
    $v5 = <span>10</span> + &ldquo;abc&rdquo;;    <span>//</span><span>10</span>
    $v5 = &ldquo;<span>10</span>&rdquo; + &ldquo;abc&rdquo;;    <span>//</span><span>10</span>
    $v5 = &ldquo;10ABC&rdquo; + &ldquo;5abc&rdquo;;    <span>//</span><span>15</span>
    $v5 = &ldquo;ABC10&rdquo; + &ldquo;abc5&rdquo;;    <span>//</span><span>0</span>
    $v5 = &ldquo;ABC&rdquo; + &ldquo;abc&rdquo;;    <span>//</span><span>0</span>
登入後複製

………………….凡是使用算术运算符进行运算,都会“看成”数字,如果实在转不成一个数字,也会当做0来进行计算。

强制转换

<span>语法: (要转成的目标类型)数据;
    举例:
    $v1 </span>= (<span>int</span>) &ldquo;<span>3</span>.5abc&rdquo;;    <span>//</span><span>3;int类型</span>
    $v1 = (<span>float</span>) &ldquo;<span>3</span>.5abc&rdquo;;    <span>//</span><span>3.5;    </span><span>//</span><span>这里其实是float类型</span>
    $v1 = (<span>string</span>) <span>3</span>;        <span>//</span><span>&rdquo;3&rdquo;;</span>
    $v1 = (<span>bool</span>) &ldquo;<span>3.5</span>&rdquo;;        <span>//</span><span>true</span>
登入後複製

——特别推荐将一个数据转换为bool类型的时候:查手册:附录〉类型比较表〉对变量 $x 进行比较 〉 if($x)列

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1252
24
PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP與Python:了解差異 PHP與Python:了解差異 Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

See all articles