php入门(一)

一,在HTML中嵌入php代码

先看html的代码:

<form action="processorder.php" method="post">
    <table>
        <tr bgcolor="#cccccc">
            <td width="150">Item</td>
            <td width="15">Quantity</td>
        </tr>
        <tr>
            <td>Tires</td>
            <td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td>
        </tr>
        <tr>
            <td>Oil</td>
            <td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td>
        </tr>
        <tr>
            <td>Spark Plugs</td>
            <td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="Submit Order" /></td>
        </tr>
    </table>
</form>

下面是在html中嵌入php代码:

<?php
// create short variable names, also can use '$_REQUEST['name']'
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
?>

<!DOCTYPE html>
<html>
<head>
    <title>Bob 's Auto Parts - Order Results</title>
</head>
<body>
    <h1>Bob 's Auto Parts</h1>
    <h2>Order Results</h2>
    <?php
    echo "<p>Order processed at ";
    echo date('H:i, jS F Y')."</p>";
    echo "<p>Your order is as follows: </p>";
    echo "$tireqty tires<br />";
    echo $oilqty.' bottles of oil<br />';
    echo $sparkqty." spark plugs<br />"
    ?>
    ---------------------------------------------------<br />
    <?php
    $testHeredoc = <<< EOF
    line 1    
    line 2    
    line 3    
EOF;
    echo "$testHeredoc"."<br />";
    ?>
    ---------------------------------------------------<br />
    <?php
    echo "About Comment:";
    //Here is a comment.
    #Here is a comment too.
    /*
    Here is multi line comment.
    Here is multi line comment.
     */
    ?>
</body>
</html>

1.在html中嵌入php代码的语法格式为:

<?php  

 ?> 

需要注意的是开始符号“<?php”中间不能有空格。

2. post方法提交的表单内容可以通过php的“$_POST[]”数组按照name获取, 也可以通过“$_REQUEST[]”数组获取。这些数组为超级全局变量。

关于数组和变量作用域之后会详解讲解。

当要获取变量的时候用$符号来获取!

<?php

$tireqty = $_POST['tireqty'];

$oilqty = $_POST['oilqty'];

$sparkqty = $_POST['sparkqty'];

?>

3. 字符串可以用单引号也可以使用双引号引起来。 也可以用反单引号引起来(反单引号在键盘最左上角,与~是一个键)。

三种引号作用不同:

  • 单引号内的字符串将被当作纯文本原样输出''
  • 双引号中如果有变量,则会替换成变量的值然后输出文本;有点像c语言中的print();“”
  • 反单引号被叫做执行符,php解析器会先执行反单引号中的内容,将执行之后的结果返回。``

4. 字符串可以使用点号“.”连接在一起。在php中点号是唯一的字符串连接符,相当于java中的“+”。

  <?php
    echo "<p>Order processed at ";
    echo date('H:i, jS F Y')."</p>";
    echo "<p>Your order is as follows: </p>";
    echo "$tireqty tires<br />";
    echo $oilqty.' bottles of oil<br />';
    echo $sparkqty." spark plugs<br />"
    ?>

date('H:i, jS F Y')  php通过这样的方式显示日期

08:25, 7th July 2008

在这里H 是小时,i是分钟,(小时和分钟是补0的)j是该月的日期后面的S事顺序后缀在这里是th F是月份的全称

注意:

echo "$tireqty tires<br />";
和
 echo $oilqty.' bottles of oil<br />';是等价的
对于简单的变量可以将变量写入到由双引号引起来的字符串中 插值

 5. php中有三种注释方式:分别为

单行注释“//” 或者 像shell一样的单行注释“#”;

多行注释“/**/”。

6.php中所有的变量使用时都是以“$”打头的(变量的使用获取变量的值), 并且变量使用时不需要提前声明。 而且变量的类型也可以随时改变,

这取决于赋值给变量的值的类型。php变量的类型是在每一次赋值时确定和改变的。

7.指定字符串的方法

<?php
    $testHeredoc = <<< EOF
    line 1    
    line 2    
    line 3    
EOF;
    echo "$testHeredoc"."<br />";
    ?>

也可以用theEnd 用来指定结束标记
echo <<<theEnd
  line 1
  line 2
  line 3
theEnd

二.数据类型:

可以查看官方手册:http://php.net/manual/zh/language.types.php

四种标量类型:(标量类型即为基本类型,不是类类型)

  • boolean(布尔型) 
  • integer(整型) 用来表示所有实数
  • float(浮点型,也称作 double) (php中没有单精度和双精度之分)
  • string(字符串) (字符串类型在PHP中属于标量类型,在Java中属于类类型)

两种复合类型:

  • array(数组)
  • object(对象) --用来保存类的实例

最后是两种特殊类型:

  • resource(资源)--  数据库函数返回这个类型的变量
  • NULL(无类型)

变量的类型通常不是由程序员设定的,确切地说,是由 PHP 根据该变量使用的上下文在运行时决定的。



<?php
不用声明数据类型 $a_bool = TRUE; // a boolean $a_str = "foo"; // a string $a_str2 = 'foo'; // a string $an_int = 12; // an integer $a_float = 3.14; // a float(double) echo gettype($a_bool)."<br>"; // prints out: boolean
  • 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype() 函数
  • 要查看某个类型,不要用 gettype(),而用 is_type 函数。
echo gettype($a_str)."<br>";  // prints out:  string
echo gettype($an_int)."<br>";  // prints out:  integer
echo gettype($a_float)."<br>";  // prints out:  double   

// If this is an integer, increment it by four
if (is_int($an_int)) {
    echo "an_int = ".$an_int."<br>";
    $an_int += 4;
    echo "an_int = ".$an_int."<br>";
}

// If $bool is a string, print it out
// (does not print out anything)
if (is_string($a_str)) {
    echo "String: $a_str"."<br>";
}

echo var_dump($a_float, $a_bool, $a_str, $an_int);  //如果想查看某个表达式的值和类型,用 var_dump() 函数。

?>

 输出:

boolean
string
integer
double
an_int = 12
an_int = 16
String: foo
float(3.14) bool(true) string(3) "foo" int(16)

 三 使用常量  没有$号,变量才有$

define('TIREPRICE', 100);
define('OILPRICE', 10);
define('SPARKPRICE', 4);

这是php中定义常量的一种方法,这里定义了值为100的TIREPRICE常量、值为10的OILPRICE常量和值为4的SPARKPRICE常量。  

2.变量的作用域:

global

static

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

否则以下的y值不会输出,这时候需要加global,以下的作用域是local

和c一样因为y存在栈里,所以{}就会消失    

<?php 
$x=5; // 全局变量 

function myTest() 
{ 
    $y=10; // 局部变量 
    echo "<p>测试函数内变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
}  

myTest(); 

echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; 
?>

global:在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

<?php
$x=5;
$y=10;

function myTest()
{
global $x,$y;
$y=$x+$y;
}

myTest();
echo $y; // 输出 15
?>

static:每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

<?php 

function myTest() 
{ 
    static $x=0; 
    echo $x; 
    $x++; 
} 

myTest(); 
myTest(); 
myTest(); 
?> 

输出结果为012
static不会因为函数消失而消失

 输出:

PHP 数组

数组可以在一个变量中存储多个值。

在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>

 输出:

array(3) {
  [0]=>
  string(5) "Volvo"
  [1]=>
  string(3) "BMW"
  [2]=>
  string(6) "Toyota"
}

设置 PHP 常量

常量是全局的

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数: 

  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。
  • case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
    ?php
    define("GREETING", "欢迎访问 Runoob.com");
     
    function myTest() {
        echo GREETING;
    }
     
    myTest();    // 输出 "欢迎访问 Runoob.com"
    ?>
    
 
原文地址:https://www.cnblogs.com/ldphoebe/p/6052033.html