php基础学习

2013/10/01 1804点热度 0人点赞 0条评论

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

    PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,

    PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

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

     ■  服务端脚本。这是 PHP 最传统,也是最主要的目标领域。开展这项工作需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、web 服务器和 web 浏览器。需要在运行 web 服务器时,安装并配置 PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP 页面。如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。请查阅安装一章以获取更多信息。

     ■ 命令行脚本。可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。通过这种方式,仅仅只需要 PHP 解析器来执行.这种用法对于依赖 cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows 环境)的日常运行的脚本来说是理想的选择。这些脚本也可以用来处理简单的文本。请参阅 PHP 的命令行模式以获取更多信息。

     ■ 编写桌面应用程序。对于有着图形界面的桌面应用程序来说,PHP 或许不是一种最好的语言,但是如果用户非常精通 PHP,并且希望在客户端应用程序中使用 PHP 的一些高级特性,可以利用 PHP-GTK 来编写这些程序。用这种方法,还可以编写跨平台的应用程序。PHP-GTK 是 PHP 的一个扩展,在通常发布的 PHP 包中并不包含它。如果对 PHP-GTK 感兴趣,请访问其官网

<?php 
       //php版的hello world
       echo "hello world<br/>";
       print "hello world2<br>";
       echo "php是弱类型的原因,声明变量可以不加类型";
       $a="这是一个变量";
       $b=10;
       echo $a." ".$b."<br>";// . 句号相当于+,表示连接的意思
       print $a." ".$b."<br>";
       $arr = array("foo" => "bar", 12 => true,13=>false);
       echo $arr["foo"]."<br>";
       echo $arr[13]."<br>";
       print $arr[12]."<br>";
        echo "this is ",12,"<br>";
      // print "this is ",12;
       $c=print ('aa'."<br>");
       echo $c,"  print返回的值<br/>";
       echo ($a."bb<br>");
       print_r($arr);echo "<br>";
       /*
         echo和print的区别在于
            1,echo可以用逗号作为分隔符来输出多个参数
            2,echo 是无返回值的,print返回值是int
            3,echo 打印boolean类型的时候,true显示1,0啥也不显示
       */
       //获取常用的服务配置
       echo "使用的浏览器的相关信息:".$_SERVER['HTTP_USER_AGENT']."<br>";
       echo "当前文件在服务器的完整路径:".$_SERVER['PHP_SELF']."<br>";
       echo "当前服务器的ip地址:".$_SERVER['SERVER_ADDR']."<br>";
       echo "当前服务器的主机名:".$_SERVER['SERVER_NAME']."<br>";
       echo "当前web服务器环境的名称和版本:".$_SERVER['SERVER_SOFTWARE']."<br>";
       echo "当前页面的请求方式:".$_SERVER['REQUEST_METHOD']."<br>";
       echo "请求开始时的时间戳:".$_SERVER['REQUEST_TIME']."<br>";
       echo "查询字符串:".$_SERVER['QUERY_STRING']."<br>";
       echo "浏览当前页面的用户的ip:".$_SERVER['REMOTE_ADDR']."<br>";
      // echo "浏览当前页面的用户的主机名:".$_SERVER['REMOTE_HOST']."<br>";在Apache下有
       echo "用户机器上链接到web服务器所使用的端口:".$_SERVER['REMOTE_PORT'];
       echo "当前执行脚本的据对路径:".$_SERVER['SCRIPT_FILENAME']."<br>";
      // echo "Apache服务器配置文件中的SERVER_ADMIN参数:".$_SERVER['SERVER_ADMIN']."<br>";
       echo "web服务器使用的端口:".$_SERVER['SERVER_PORT']."<br>";
    //   echo "当前Apache服务器,php服务器的版本,还有端口号".$_SERVER['SERVER_SIGNATURE']."<br>";
     
     //php的类型
       $a_boolean=FALSE;//boolean
      $a_str="abc"; //String
      $a_int=11;  //int
      $a_float=1.22;//float
      $arr=array('a'=>'第一','b'=>'第二','c'=>'第三','d'=>'第四');
      //var_dump(可变参数)  打印出当前变量的类型和值
 
      echo var_dump("aaaa",123)."<hr>";
     // echo print_r($a_bool)." <br>";
      //gettype()返回参数的类型,如果参数不存在则返回null
    //is_bool(var)判断变量的类型是 boolean类型,是返回true,不是返回false
      if(is_bool($a_boolean)){
          echo "\$a_bool is ".gettype($a_boolean)." 类型<br>";
      }
      //is_int(var)判断变量的类型是 整型类型,是返回true,不是返回false
      if(is_int($a_int)){
        echo "\$a_int is ".gettype($a_int)." 类型<br>";
      }
      //is_bool(var)判断变量的类型是 boolean类型,是返回true,不是返回false
       if(is_numeric($a_float)){
          echo "\$a_float  is ".gettype($a_float)." 类型<br>";
      }
     //is_string(var)判断变量的类型是字符串类型,是返回true,不是返回false
      if(is_string($a_str)){
          //在双引号的字符串中会转义,在单引号的中的字符串不会转义
           //   反斜杠\在php字符串中是转义的意思
          //  \n换行 \r 回车  \t水平方向的tab  \v竖直方向的tab
          //   \f 换页 \\反斜线  \$ $符号  \" 双引号 
         echo "\$a_str is ".gettype($a_str)." 类型<br>";
         echo "$a_str is ".gettype($a_str)." 类型<br>";
         echo '$a_str is '.gettype($a_str).' 类型<br>';
 
      }
      //在字符串的定义中还有heredoc 和Nowdoc
      //heredoc 类似于双引号的的字符串,对里面的变量解释
      //Nowdoc类似于单引号的字符串,对里面的变量不解释
     /* 含有变量的更复杂的示例 */
      class foo
      {
         public $foo;
         public $bar;
 
         function foo()
         {
             $this->foo = 'Foo';
             $this->bar = array('Bar1', 'Bar2', 'Bar3');
         }
      }
      $foo = new foo();
      $name = 'yxkong';
      //heredoc
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41<br>
EOT;
 
   //nowdoc
echo <<<'EOT'
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41<br>
EOT;
 
 
       //is_array(var)判断变量的类型是数组类型,是返回true,不是返回false
      if(is_array($arr)){
         echo "\$arr is ".gettype($arr)." 类型<br>";
      }
      echo var_dump($a_boolean)."<hr>";
      echo " print_r打印出来的信息:<br>"; print_r($a_str);
      echo "<br>";print_r($a_int); echo "<br>";
      echo var_dump($a_str,$a_int)."<hr>";
      echo var_dump($a_boolean,$a_str,$a_int)."<hr>";
      echo var_dump($arr)."<hr>";
      //print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object与数组类似。 
      print_r ($arr);
    ?>

yxkong

这个人很懒,什么都没留下

文章评论