php-入门

一、echo语句

1.格式

echo是PHP中的输出语句,可以把字符串输出(字符串用双引号括起来,echo关键字与字符串之间至少有一个空格)
示例代码:

<?php echo "Hello world!";?>

2.计算表达式

echo  120 * 3;

3.字符串

可以使用双引号或者单引号,还可以使用(.)做链接符

<?php echo "Hi,shuaishuai!";?>
<?php echo 'Hi,shuaishuai!';?>
<?php echo 'Hi,'.'shuaishuai';?>

二、php变量

在PHP中,支持8中原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据。

1.标量类型 – 布尔类型

布尔类型(boolean):只有两个值,一个是TRUE,另一个FALSE,可以理解为是或否。他不区分大小写,也就是说”TRUE”和”true”效果是一样的。
需要注意的是,当我们用echo指令输出布尔类型时,如果”true”则输出是”1″,”false”则什么也不输出。我们可以用var_dump函数,获取他真正的数据类型

<?php 
    $man = "男";
    $flag = $man == "男";
    echo $flag ;
    echo "<br />" ;
    var_dump($flag);
?>

2.标量类型—整型

整型(integer):类似于常见的整数。它可以用十进制、八进制、十六进制指定。十进制就是日常使用的数字;八进制,数字前必须加上“0”(这个0是阿拉伯数字0,可不是英文字母“欧”哦);十六进制,数字前必须加“0x” (这个0也是阿拉伯数字0,不是“欧”哦)。

<?php
$data_int1 = 123;
echo $data_int1;
echo "<br />";
$data_int2 = -123;
echo $data_int2;
echo "<br />";
$data_int3 = 0123;
echo $data_int3;
echo "<br />";
$data_int4 = 0x123;
echo $data_int4;
echo "<br />";
?>

3.标量类型—浮点型

浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E。

<?php
$num_float1 = 1.234;
echo $num_float1;
echo "<br />";
$num_float2 = 1.2e3;
echo $num_float2;
echo "<br />";
$num_float3 = 7.0E-3;
echo $num_float3;
echo "<br />";
?>

4.标量类型—字符串

字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性。
字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。

<?php 
$str_string1 = '甲问:"你是在哪里学的PHP?"';
$str_string2 = "乙毫不犹豫的回答:'当然是帅哥网咯!'";
$str_string3 = '甲问:\'能告诉我网址吗?\'';
$str_string4 = "乙答道:\"www.baidu.com\"";
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>

处理字符串很长的情况:
我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串,如下:

<?php 
$string1 = <<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>

注意 在赋值符号后,输入定界符“<<<”,接着是标识符,你可以用你的女神作为标识符“GOD”,如第2行,也可以使用你喜欢的狗狗,“DOG”作为标识符,但是,结尾处的标识符也必须是一样的。此外,在结尾的一行,如第7行,一定要另起一行,并且此行除了“GOD”,并以“;”号结束之外,不能有任何其他字符,前后都不能有,包括空格,否则会出现错误的哦。

5.第一种特殊类型—资源

资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。

<?php
$file=fopen("f.txt","r");   //打开文件
$con=mysql_connect("localhost","root","root");  //连接数据库
$img=imagecreate(100,100);//图形画布
?>
<?php 
//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
$file_handle = fopen("/data/webroot/resource/php/f.txt","r");
if ($file_handle){
    //接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字
    while (!feof($file_handle)) { //判断是否到最后一行
        $line = fgets($file_handle); //读取一行文本
        echo $line; //输出一行文本
        echo "<br />"; //换行
    }
}
fclose($file_handle);//关闭文件
?>

6.第二种特殊类型—空类型

NULL(NULL):NULL是空类型,对大小写不敏感,NULL类型只有一个取值,表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。

<?php 
 error_reporting(0); //禁止显示PHP警告提示
 $var;
 var_dump($var);
 $var1 = null;
 var_dump($var1);
$var2 = NULL; 
 var_dump( $var2);
 $var3 = "节日快乐!";
 unset($var3);// 释放$var3
 var_dump($var3);
?>

三.php常量

define()函数的语法格式为:

bool define(string $constant_name, mixed $value[, $case_sensitive = true])

它有3个参数(也就是原料):

第一个参数“constant_name”为必选参数,常量名称,即标志符,常量的命名规则与变量的一致,但是要注意哦,它可不带美元符号哦。第二个参数“value”为必选参数,它是常量的值。第三个参数“case_sensitive”为可选参数,指定是否大小写敏感,设定为true表示不敏感,一般不指定第三个参数的情况下,默认第三个参数的值为false。

(注: string表示参数类型为字符串类型,mixed表示参数类型可以接受为多种不同的类型,case_sensitive = true表示默认为布尔类型TRUE)

<?php
$p = "PII";
define("PI",3.14);
define($p,3.14);
echo PI;
echo "<br />";
echo PII;
?>

认识一下系统常量

系统常量是PHP已经定义好的常量,我们可以直接拿来使用,常见的系统常量有:

(1)FILE :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。

(2)LINE :PHP程序文件行数。它可以告诉我们,当前代码在第几行。

(3)PHP_VERSION:当前解析器的版本号。它可以告诉我们当前PHP解析器的版本号,我们可以提前知道我们的PHP代码是否可被该PHP解析器解析。

(4)PHP_OS:执行当前PHP版本的操作系统名称。它可以告诉我们服务器所用的操作系统名称,我们可以根据该操作系统优化我们的代码。

echo __FILE__;
echo "<br />";
echo __LINE__;
echo "<br />";
echo PHP_VERSION;
echo "<br />";
echo PHP_OS;
echo "<br />";

四、数组

索引和关联两个词都是针对数组的键而言的。

1.索引数组

索引数组是指数组的键是整数的数组,并且键的整数顺序是从0开始,依次类推。
$fruit = array("苹果","香蕉","菠萝");注意数组的键是从0开始的。可以使用print_r($fruit);语句输出数组键及对应的值

1.1索引数组赋值

索引数组赋值有三种方式:

  • 第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,索引数组中,中括号内的键一定是整数。比如,$arr[0]=’苹果’;
  • 第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,索引数组中,键一定是整数。比如,array(‘0’=>’苹果’);
  • 第三种:用array()创建一个空数组,直接在数组里用英文的单引号’或者英文的双引号”赋值,数组会默认建立从0开始的整数的键。比如array(‘苹果’);这个数组相当于array(‘0’=>’苹果’);
1.2访问索引数组内容

有的时候我们需要把数组中的内容也就是值取出来该怎么办呢?用数组变量的名字后跟的中括号中的键,来访问数组中的值。

$fruit = array('苹果','香蕉');
$fruit0 = $fruit['0'];
print_r($fruit0);//结果为苹果
1.3数组的迭代
1.3.1for循环:
$fruit=array('苹果','香蕉','菠萝');

for($i=0; $i<3; $i++){

    echo '<br>数组第'.$i.'值是:'.$fruit[$i];

}
1.3.2foreach循环访问索引数组里的值
$fruit=array('苹果','香蕉','菠萝');
foreach($fruit as $k=>$v){
    echo '<br>第'.$k.'值是:'.$v;
}

2.关联数组

$fruit = array(

    'apple'=>"苹果",

    'banana'=>"香蕉",

    'pineapple'=>"菠萝"

);
2.1关联数组赋值

关联数组赋值有两种方式:

  • 第一种:用数组变量的名字后面跟一个中括号的方式赋值,当然,关联数组中,中括号内的键一定是字符串。比如,$arr[‘apple’]=’苹果’;
  • 第二种:用array()创建一个空数组,使用=>符号来分隔键和值,左侧表示键,右侧表示值。当然,关联数组中,键一定是字符串。比如,array(‘apple’=>’苹果’);
2.2访问关联数组内容

用数组变量的名字后跟中括号+键的方式来访问数组中的值,键使用单引号或者双引号括起来。

$fruit = array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝"); 
$fruit0 = $fruit['banana'];
print_r($fruit0);
2.3foreach循环访问关联数组里的值

foreach循环可以将数组里的所有值都访问到,下面我们展示下,用foreach循环访问关联数组里的值

$fruit=array('apple'=>"苹果",'banana'=>"香蕉",'pineapple'=>"菠萝");
foreach($fruit as $k=>$v){
    echo '<br>水果的英文键名:'.$k.',对应的值是:'.$v;
}

五、函数

1.自定义函数

PHP函数的定义方式:

  • 1.使用关键字“function”开始
  • 2.函数名可以是字母或下划线开头:function name()
  • 3.在大括号中编写函数体:
function name() {
    echo 'Eric';
}

2.带形参函数

function sum($a, $b) { 
    return $a+$b; 
}

3.带返回值函数

function add($a) {
    return $a+1;
}
$b = add(1);

4.自定义函数

所谓可变函数,即通过变量的值来调用函数,因为变量的值是可变的,所以可以通过改变一个变量的值来实现调用不同的函数。经常会用在回调函数、函数列表,或者根据动态参数来调用不同的函数。可变函数的调用方法为变量名加括号

function name() {
    echo 'jobs';
}
$func = 'name';
$func(); //调用可变函数
class book {
    function getName() {
        return 'bookname';
    }
}
$func = 'getName';
$book = new book();
$book->$func();

5.内置函数

内置函数指的是PHP默认支持的函数,PHP内置了很多标准的常用的处理函数,包括字符串处理、数组函数、文件处理、session与cookie处理等。
我们先拿字符串处理函数来举例,通过内置函数str_replace可以实现字符串的替换。下面的例子将“jobs”替换成“steven jobs”:

$str = 'i am jobs.';
$str = str_replace('jobs', 'steven jobs', $str);
echo $str; //结果为“i am steven jobs”

6.判断函数是否存在

当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在。同样的method_exists可以用来检测类的方法是否存在。

function func() {
}
if (function_exists('func')){
    echo 'exists';
}
class MyClass{
}
// 使用前检查类是否存在
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}
$filename = 'test.txt';
if (!file_exists($filename)) {
    echo $filename . ' not exists.';
}
    原文作者:只非鱼
    原文地址: https://www.jianshu.com/p/6e9184d957db
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞