PHP学习 第一天

1、 使用的mac电脑,集成环境安装的是 MAMP(Apache Server、Mysql、PHP)

  左上角 MAMP -> Preferences ,里面是集成环境配置。Port是环境的端口配置,Web-Server->Document Root下面是个路径,Web-Server会在选中的文件夹搭建服务,所以PHP代码需要保存在这个被选中的文件夹里面。

2、PHP环境有了,了解一下什么是PHP:

  https://www.php.net/manual/zh/intro-whatis.php

  PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到 HTML中。

  和客户端的 JavaScript 不同的是,PHP 代码是运行在服务端的。

  官网给了个例子:

<html>
    <head>
        <title>Example</title>
    </head>
    <body>

        <?php
        echo "Hi, I'm a PHP script!";
        ?>

    </body>
</html>

  我创建了一个.php文件,代码粘进去了,访问了一下地址。嗯,成功了。

  

3、PHP能做点儿什么

  PHP 主要是用于服务端的脚本程序,因此可以用 PHP 来完成其它的 CGI (Common Gateway Interface) 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收 Cookies。

  PHP脚本主要用于的三个领域:

    服务端脚本

      PHP 最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、web 服务器和 web 浏览器。需要在运行 web 服务器时,安装并配置 PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP 页面。

    命令行脚本

      可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要 PHP 解析器来执行。这种用法对于依赖 cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows 环境)的日常运行的脚本来说是理想的选择。    

    编写桌面程序

      对于有着图形界面的桌面应用程序来说,PHP 或许不是一种最好的语言,但是如果用户非常精通 PHP,并且希望在客户端应用程序中使用 PHP 的一些高级特性,可以利用 PHP-GTK 来编写这些程序。

  PHP 最强大最显著的特性之一,是它支持很大范围的数据库。使用任何针对某数据库的扩展(例如 mysql)编写数据库支持的网页非常简单,或者使用抽象层如 PDO,或者通过 ODBC 扩展连接到任何支持 ODBC 标准的数据库。其它一些数据库也可能会用 cURL 或者 sockets,例如 CouchDB。

4、PHP类型

  PHP 支持 种原始数据类型。

        四种表量类型

      boolean、integer、float、string

    三种复合类型

      array、object、callable

    两种特殊类型

      resource、NULL 

  array :

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>

5、PHP 部分语法  

  * var_dump() 函数用于输出变量的相关信息。var_dump() 函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

  echoprint 之间的差异:

    echo - 能够输出一个以上的字符串

    print - 只能输出一个字符串,并始终返回 1

   提示:echo 比 print 稍快,因为它不返回任何值。

  * $t = date("Y-m-d H:i:s") //2019-04-24 07:39:02

 

6、字符串函数

  * strlen() : 函数返回字符串的长度,以字符计。

<?php 
	$a = "asddddeewss";
	echo strlen($a);
?>

  * str_word_count() : 函数对字符串中的单词进行计数

<?php 
	$a = "Hello My name is haha";
	echo str_word_count($a);
?>

  * strrev() : 函数反转字符串

<?php 
	$a = "Hello My name is haha";
	echo strrev($a);
?>

  * strpos() : 函数用于检索字符串内指定的字符或文本。

<?php 
	$a = "Hello My name is haha";
	echo strpos($a,"name");
?>

  * str_replace() : 函数用一些字符串替换字符串中的另一些字符

<?php
    echo str_replace("world", "Kitty", "Hello world!"); // 输出 Hello Kitty!
?>

7、运算符

<?php
    $x=17; 
    $y=8;
    echo ($x + $y); // 输出 25
    echo ($x - $y); // 输出 9
    echo ($x * $y); // 输出 136
    echo ($x / $y); // 输出 2.125
    echo ($x % $y); // 输出 1
?>

8、条件语句

<?php
       $t=date("H");

	if ($t<"10") {
	  echo "Have a good morning!";
	} elseif ($t<"20") {
	  echo "Have a good day!";
	} else {
	  echo "Have a good night!";
	}
?>

9、Switch语句

<?php    
    $favfruit="apple";
    switch ($favfruit) {
        case "apple":
	     echo "Your favorite fruit is apple!";
	     break;
        case "banana":
	     echo "Your favorite fruit is banana!";
	     break;
	case "orange":
	     echo "Your favorite fruit is orange!";
	     break;
	default:
            echo "Your favorite fruit is neither apple, banana, or orange!";
    }
?>

10、for循环

  *  for 循环

<?php 
    for ($x=0; $x<=10; $x++) {
      echo "数字是:$x <br>";
    } 
?>

  *  foreach循环

    value 结构 array 的循环遍历

<?php 
    $colors = array(8,7,6,5,4,3,2); 

    foreach ($colors as $value) {
          echo "$value <br/>";
    }
?>

    $key => $value 结构 array 的遍历:

<?php
    $arr = array(
        "foo" => "bar",
        "bar" => "foo",
        100   => -100,
        "asd" => array(
        	"a" => 12,
        	"b" => 23
        )
    );

    foreach ($arr as $key => $value) {
	echo "$key: $value <br/>";
    }
?>

11、PHP函数

  用户定义的函数声明以单词 function 开头:

function functionName() {
  被执行的代码;
}
<?php
    function sum($x,$y) {
        $z=$x+$y;
        return $z;
    }

    echo "5 + 10 = " . sum(5,10) . "<br>";
    echo "7 + 13 = " . sum(7,13) . "<br>";
    echo "2 + 4 = " . sum(2,4);
?>

  

12、数组中的排序函数

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序

  

原文地址:https://www.cnblogs.com/Lyh1997/p/10762960.html