">

>백엔드 개발 >PHP 튜토리얼 >PHP 기본 학습 노트 (12)

PHP 기본 학습 노트 (12)

WBOY
WBOY원래의
2016-08-08 09:27:221078검색

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>下述为定界符字符串,其中的“ABCD”是随意命名的一个符号。字符串也就使用该符号结尾。
</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中,简单数据类型和数组以及空类型使用值传递。

Pass by reference(pass by value): 하나의 변수가 나타내는 "주소"를 복사하여 다른 변수에 할당하는 것인데, 이는 두 변수가 동시에 같은 주소를 가리키는(대응하는) 것과 같습니다 - 이 주소 또한 데이터의 위치를 ​​나타냅니다. 이때, 두 변수의 값이 동일하다는 것은 두 변수가 실제로는 공통된 데이터를 참조한다는 의미이기도 합니다.

기본적으로 PHP에서는 객체 유형과 리소스 유형이 참조로 전달됩니다.

단,

참조를 사용하여 기본적으로 할당으로 전달되는 데이터를 전달할 수도 있습니다. 구문은 다음과 같습니다.

변수 1 = & 변수 2

예:

$v1 = 10;

$v2 = & $v1; // 이때 $v1과 $v2는 "하나의 데이터 내용"을 나타냅니다.

$v1++;

에코 $v2;

js 비교:

js에는 기본값 전달 방식만 있고 인위적인 설정 방식은 없습니다

                                                                                                           >                              

참조 전달 값의 기본 유형은 배열, 객체

운영자:

l 산술 연산자: + - * / % ++ --

    + 기호는 '산술 연산'만 수행하며 이중 의미는 없습니다.
  • ++ --기호의 의미와 사용법은 js와 완전히 동일합니다.
l은 변수 앞에 쓰여지고, 먼저 추가(자체 감소)한 다음 다른 작업(예: 할당)을 수행합니다.

l은 변수 뒤에 쓰여집니다. 그런 다음 먼저 다른 작업(예: 할당)을 수행한 다음 자체를 더하거나 뺍니다.

    % 기호는 정수에 대해서만 AND 연산을 수행합니다. 정수가 아닌 경우 먼저 자동으로 정수로 변환된 다음 나머지를 가져옵니다.
l 비교 연산자: == != > >= <= ===(모두 같음) !==(모두 같지 않음)

    ==는 일반적으로 "모호한 동등성"을 의미하고, ===는 정확한 동등성을 의미합니다(데이터 유형과 데이터 값이 동일한 경우에만)
  • 퍼지 등치의 다양한 상황은 매뉴얼을 참고하세요: 부록> 유형 비교표
l 조건 연산자: (expr1) ? (expr2) : (expr3), 예:

    의미: 표현식 exp1을 평가합니다. 판단 결과가 true이면 전체 표현식의 결과는 exp2이고, 그렇지 않으면 전체 표현식의 결과는 exp3입니다.
  • $v1 = $fs>60 ? "Pass" : "Make-up Exam" ; //그러면 v1은 fs 값에 따라 두 가지 상황이 있습니다
  • 보충 지식: 단항 연산자는 !, ++, --, ~,, 이항 연산자가 가장 일반적으로 사용되는 연산자이고 삼항 연산자는 이것이다.
  • l 논리 연산자: &&(AND) ||(OR) !(NOT)

      논리적 AND &&: 두 데이터가 모두 참인 경우에만 결과가 참입니다
    • 논리적 OR||: 하나의 데이터가 참이면 결과도 참입니다
    • 논리적 부정! : 논리 데이터의 반대값을 취합니다.
    l 문자열 연산자: .(예: 영어 마침표) .=(예: “+="와 유사)

      .=는 단지 "약칭"입니다. $v1 = $v1 . "abc" è $v1 .= "abc";
    l 비트 연산자: &(AND) |(OR) ~(NOT) ^(XOR) <<(왼쪽 시프트) >>(오른쪽 시프트)

      비트 연산자는 모두 이진 숫자 시스템에서 수행됩니다.
    • 비트별 AND&: 해당하는 두 비트의 숫자가 모두 1인 경우에만 결과가 1입니다
    • 비트별 OR|: 해당 비트의 숫자 하나가 1이면 결과는 1입니다
    • Bitwise NOT~: 부정, 즉 1은 0이 되고, 0은 1이 됩니다
    • 비트별 XOR^: 해당하는 두 비트의 숫자가 다를 때 결과는 1입니다
    l 대입 연산자: = += -= *= /= %= .=

    연산자 우선순위 문제: 기본적으로 js와 동일합니다.

    데이터 유형 변환

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

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

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

    默认转换举例:

    $v1 = <span>10</span> - “<span>3</span>”;        <span>//</span><span>7;</span>
        $v2 = <span>10</span> + “<span>3</span>”;        <span>//</span><span>13;</span>
        $v3 = <span>10</span> + “3abc”;    <span>//</span><span>13;</span>
        $v4 = <span>10</span> + “<span>3</span>.5abc”;    <span>//</span><span>13.5;</span>
        $v5 = <span>10</span> + “abc3”;    <span>//</span><span>10;</span>
        $v5 = <span>10</span> + “abc”;    <span>//</span><span>10</span>
        $v5 = “<span>10</span>” + “abc”;    <span>//</span><span>10</span>
        $v5 = “10ABC” + “5abc”;    <span>//</span><span>15</span>
        $v5 = “ABC10” + “abc5”;    <span>//</span><span>0</span>
        $v5 = “ABC” + “abc”;    <span>//</span><span>0</span>

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

    强制转换:

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

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

    以上就介绍了php基础学习笔记(12),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.