php入门

Posted 魏耀峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php入门相关的知识,希望对你有一定的参考价值。

PHP 是一门弱类型语言

  • 在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。
  • PHP 会根据变量的值,自动把变量转换为正确的数据类型。
  • 在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

1.Web服务器概述

     Web服务器用于:

  • (1)接收客户端的请求
  • (2)理解请求,找到客户端需要的文件
  • (3)把客户端请求的文件输出给客户端

  

      Web服务器的分类:

   (1)静态Web服务器

  • 提供的内容在任何时间由任何人访问都是完全相同的!
  • 所包含技术:html、CSS、JS、Flash、Gif、音视频
  • 常见的静态Web服务器: 
  1. Apache Httpd
  2. Microsoft IIS
  3. nginx

  (2)动态Web服务器

  • 提供的内容在不同时间由不同人访问是变化的!
  • 所包含的技术:
  1. JSP = HTML + Java
  2. PHP = HTML + Php
  3. ASP.NET = HTML + C#
  4. Node.js = HTML + NodeJS

2.PHP服务器的搭建

  (1)服务器端:下载并安装一款静态Web服务器

    C:\\xampp\\apache\\bin\\httpd.exe

     (2)服务器端:下载并安装PHP语言的解释器

       C:\\xampp\\php\\php.exe

  推荐使用软件套装(如XAMPP/WAMP等)完成上述两步

       (3)服务器端:编写网页,保存在htdocs目录

    C:\\xampp\\htdocs\\

       (4)服务器端:启动Web服务器,等待客户端发起请求

    确保80端口httpd.exe占用

  ------------------------------------------

       (5)客户端:向服务器发起请求,获取服务器端响应内容

    http://服务器的域名或IP地址:80

    http://127.0.0.1:80 127.0.0.1指代当前计算机

ipconfig:用于查看当前计算机的IP地址信息

练习:编写一个.php文件,保存在htdocs目录下

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <h1>我的第一个<br>PHP网页</h1>
    <?php      //PHP解释器只会处理此标记中的内容
    $msg = \'Hello World\';   //PHP变量名必须以$开头
    for($i=0; $i<10; $i++){
        //echo($msg);   //PHP语句分号不能省略
        //echo($i+$msg);    //+只做数学运算
        //echo($i);
        //echo($msg);
        echo($i . $msg);    //.是字符串拼接
        //<br>;
        echo(\'<br>\');
    }
    ?>
  </body>
</html>

练习:一个9X9乘法口诀表:

<!doctype html>
<html>
  <head>
    <title>标题</title>
    <meta charset="utf-8">
  </head>
  <body>
    <h1>练习4-九九乘法表</h1>
    <table width="100%" border="1">
      <tbody>
      <?php
        for($i=1; $i<=9; $i++){
            echo \'<tr>\';
            for($j=1; $j<=$i; $j++){
                echo \'<td>\';
                echo $i.\'*\'.$j.\'=\'.($i*$j);
                echo \'</td>\';
            }
            echo \'</tr>\';
        }    
      ?>
      </tbody>
    </table>
  </body>
</ht<?php echo \'m\'; ?>l>

1、PHP中的字符串

<?php
//php中的字符串

$ename = \'feng\';
$phone = "12345678901";

echo \'姓名:\'.$ename.\' 电话:\'.$phone;
echo \'<br>\';
echo \'姓名:$ename 电话:$phone\';
echo \'<br>\';

//双引号字符串中若包含$变量,会被转换为变量值
echo "姓名:$ename 电话:$phone";
echo \'<br>\';
//echo "姓名:$ename电话:$phone";
//echo \'<br>\';

2、echo,var_dump

<?php
$i = 10;
//echo $i;
var_dump($i);        //查看一个变量的类型及值
echo \'<br>\';

$i = 10.0;
var_dump($i);        //查看一个变量的类型及值
echo \'<br>\';

$i = \'10.0\';
var_dump($i);        //查看一个变量的类型及值
echo \'<br>\';

3、数组的语法

<?php
//phpinfo();  //输出PHP解释器的信息
//创建数组的语法
$list = array(10, 30, 50);   //PHP5.3-
$list = [10, 30, 50];   //PHP5.4+
//echo $list;  //错误!数组不能转换为字符串
//echo $list[0];
//echo $list[1];
//echo $list[2];
var_dump($list);

echo \'<hr>\';


/*****索引数组:每个元素下标是数字******/
$list = [101, 30, 5000, \'Tom\', false];
//$list[5] = \'知春路\';
//echo count($list);  //返回数组中元素的个数
//$list[ count($list) ] = \'知春路\';
$list[] = \'知春路\';        //向数组尾部添加新元素
$list[] = \'12345678909\';
//var_dump($list);
for($i=0; $i<count($list); $i++){
    echo "$i - $list[$i] <br>";
}
echo \'<hr>\';


/*****关联数组:每个元素下标是字符串******/
$list = [ 
    \'eid\'=>102, 
    \'age\'=>35, 
    \'ename\'=>\'Tom\', 
    \'isMarried\'=>false 
];
$list[\'addr\'] = \'知春路\';
//echo count($list);
echo $list[\'eid\'];

4、二位数粗

<?php
/*创建一个二维数组,保存5个商品的信息,每个商品都有pid、pname、price、birthday,isOnsale, pic属性,把这些信息输出在一个TABLE元素中*/
$list = [
  [\'pid\'=>101, \'pname\'=>\'可口可乐\', \'price\'=>3.5, \'birthday\'=>1234567890123, \'isOnsale\'=>true, \'pic\'=>\'img/101.jpg\'],
  [\'pid\'=>102, \'pname\'=>\'百事可乐\', \'price\'=>3.6, \'birthday\'=>1234567890123, \'isOnsale\'=>false, \'pic\'=>\'img/102.jpg\'],
  [\'pid\'=>103, \'pname\'=>\'非常可乐\', \'price\'=>3.7, \'birthday\'=>1234567890123, \'isOnsale\'=>false, \'pic\'=>\'img/103.jpg\']
];

$list[]=[\'pid\'=>104, \'pname\'=>\'雪碧\', \'price\'=>3.8, \'birthday\'=>1234567890123, \'isOnsale\'=>true, \'pic\'=>\'img/104.jpg\'];

$list[]=[\'pid\'=>105, \'pname\'=>\'芬达\', \'price\'=>3.9, \'birthday\'=>1234567890123, \'isOnsale\'=>false, \'pic\'=>\'img/105.jpg\'];

//var_dump($list);
/*
$p = $list[0];
echo $p[\'pid\'];        //正确
//echo $p[pid];        //错误
//echo "编号:$p[\'pid\']";     //错误
echo "编号:$p[pid]";         //正确 
*/

echo \'<table width="100%" border="1">\';
echo \'<thead><tr><th>编号</th><th>名称</th><th>单价</th><th>生产日期</th><th>是否特价</th><th>图片</th></tr></thead>\';
echo \'<tbody>\';
for($i=0; $i<count($list); $i++){
    $p = $list[$i];  //依次遍历每个商品
    echo \'<tr>\';
    echo "  <td>$p[pid]</td>";
    echo "  <td>$p[pname]</td>";
    echo "  <td>$p[price]</td>";
    echo "  <td>$p[birthday]</td>";
    echo "  <td>$p[isOnsale]</td>";
    echo "  <td>$p[pic]</td>";
    echo \'</tr>\';
}
echo \'</tbody>\';
echo \'</table>\';

5、foreach遍历

<?php
/*创建一个二维数组,保存5个商品的信息,每个商品都有pid、pname、price、birthday,isOnsale, pic属性,把这些信息输出在一个TABLE元素中*/
$list = [
  [\'pid\'=>101, \'pname\'=>\'可口可乐\', \'price\'=>3.5, \'birthday\'=>1234567890123, \'isOnsale\'=>true, \'pic\'=>\'img/101.jpg\'],
  [\'pid\'=>102, \'pname\'=>\'百事可乐\', \'price\'=>3.6, \'birthday\'=>1234567890123, \'isOnsale\'=>false, \'pic\'=>\'img/102.jpg\'],
  [\'pid\'=>103, \'pname\'=>\'非常可乐\', \'price\'=>3.7, \'birthday\'=>1234567890123, \'isOnsale\'=>false, \'pic\'=>\'img/103.jpg\']
];

$list[]=[\'pid\'=>104, \'pname\'=>\'雪碧\', \'price\'=>3.8, \'birthday\'=>1234567890123, \'isOnsale\'=>true, \'pic\'=>\'img/104.jpg\'];

$list[]=[\'pid\'=>105, \'pname\'=>\'芬达\', \'price\'=>3.9, \'birthday\'=>1234567890123, \'isOnsale\'=>false, \'pic\'=>\'img/105.jpg\'];

//var_dump($list);
/*
$p = $list[0];
echo $p[\'pid\'];        //正确
//echo $p[pid];        //错误
//echo "编号:$p[\'pid\']";     //错误
echo "编号:$p[pid]";         //正确 
*/

echo \'<table width="100%" border="1">\';
echo \'<thead><tr><th>编号</th><th>名称</th><th>单价</th><th>生产日期</th><th>是否特价</th><th>图片</th></tr></thead>\';
echo \'<tbody>\';
for($i=0; $i<count($list); $i++){
    $p = $list[$i];  //依次遍历每个商品
    echo \'<tr>\';
    echo "  <td>$p[pid]</td>";
    echo "  <td>$p[pname]</td>";
    echo "  <td>$p[price]</td>";
    echo "  <td>$p[birthday]</td>";
    echo "  <td>$p[isOnsale]</td>";
    echo "  <td>$p[pic]</td>";
    echo \'</tr>\';
}
echo \'</tbody>\';
echo \'</table>\';

6、function

<?php
$msg = \'hello\';

//返回一个随机的表示颜色的字符串
function randColor(){
    global $msg;  //声明使用一个全局变量
    echo $msg;
    $r = rand(0, 255);
    $g = rand(0, 255);
    $b = rand(0, 255);
    return "rgb($r, $g, $b)";
}

echo randColor();

最后请大家查询PHP官网进行更复杂的学习。

 

以上是关于php入门的主要内容,如果未能解决你的问题,请参考以下文章

PHP必用代码片段

PHP代码-psysh调试代码片段工具

超实用的php代码片段

比较有用的php代码片段

php Yoast SEO规范输出的代码片段

php Yoast SEO规范输出的代码片段