自己一晚上总结的php基础知识!好累。好充实。

为了巩固自己的基础提升自己的技术。花了一晚上的时间结合w3c上的非常基础的东西,和自己的部分见解,写了不少,望大神们指正,指导。。

<?php

    /*

    这段话必须要写在开篇啊!死老猫,你又刺激我!不过认识你非常棒!不认识你我就不受刺激就不会知道自己有多傻逼!益友!谢谢你这么久的关照!还有你丫别考研了。你在考研我。。。。专科生怎么混???2014-03-08 06:03:07
   date_default_timezone_set('PRC');
   echo date("Y-m-d");//设置时区。搞定 echo date("Y-m-d h:m:s",strtotime("-4 hours 1500 seconds"));我电脑时间是乱的。我这样写。。。也不出正确的结果。
*/

      echo"<br>";

     $a = "wangqiyang"; 

     echo strlen($a);echo "<br>";

     echo strpos($a,"qi")."<br>";

     /*翻了翻自己在csdn上的回复发现了strpos的用法。xunzuning提供的,php板块第一牛人!

         <input id="flaga" type ="checkbox" value="a" name="flags[]"<?php if(strpos($row['flag'],'c') !== false) echo "checked='checked'" ?>/>特荐[a]

            strpos 返回整数(找不到返回逻辑假)

            'true' 在数值比较中被转换为 0

            如果 $row['flag'] 第一个字符为 c 时,恰巧被匹配

            其他字符返回的都不是 0,所以不会匹配成功

     */

     //运算符//++

     $a = 2;



     echo $a++;//2

     echo "\n";

     echo ++$a;//4  这里可以看出++$a 和$a++的区别。$a++先赋值给$a.++$a先加在赋值

     //--那么同理

     echo "<br>";

     $a = 2;

     echo $a--;//2

     echo "\n";

     echo --$a."<br>";//0

     //=

     $a = 3;

     $b = $a;

     echo $b."<br>";

     //+=

     $x=1;

     $z = 3;

     $x+=$z;//$x=$z+$x

     echo $x."<br>"; //6

     //-=

     $d=1;

     $c=1;

     $d -= $c;

     echo $d."<br>";//0

     //*=

     $a=2;

     $b=3;

     $b *= $a;//$b = $b*$a

     echo $b."<br>";//6

     ///=

     $a=2;

     $b=2;

     echo $a /= $b;

     echo "<br>";

     //.=

     $a=1;

     $b=2;

     echo $a.=$b."<br>";//12 .=比较常用

     $a = "wang";

     $b = "zhao";

     echo $a.=$b."<br>";//wangzhao

     //%=

     $a=1;

     $b=2;

     echo $a/=$b;//0.5

     echo "<br>";

     //==  双等于就是值相等比如false==0这个也是真的。

     $a="false";

     $b=0;

     echo $a==$b;//1

     echo "<br>";

      // === 绝对相等。就是值和类型都相等

     $a = 1 ;

     if($a === true){

         echo 1;

     }else{

         echo 0;

     }

     echo "<br>";

     //&&中文和的意思

     $a=3;

     $b=2;

     if($a>0&&$b>0){

         echo 1;

         echo "<br>";

     }

     //||中文非得意思。即两个条件中有一个为真就是真

     $a = 2;

     $b = 3;

     if($a>0||$b<0){

         echo 1;

         echo "<br>";

     }

     $a = 2;

     $b = 3;

     $c = 4;

     $d = 5;

     if($a>0&&$b>0||$c>5){

         echo "true";

     }else{

         echo "false";

     }

     echo "<br>";//通过这个例子可以看到php中运算方式也是从左到又的并没有超过我们的认知^_^

     //!   不等于

     $a = 2;

     if($a != 3){

         echo true;

     }

     echo "<br>";

    

     //switch语句

     $aa=1;

     switch ($aa) {

         case '1':

             echo "this is 1";//输出this is 1

             break;

         

         default:

             echo "nothing";

             break;

     }

     echo "<br>";

     $aa=2;

     switch ($aa) {

         case '1':

             echo "this is 1";

             break;

         

         default:

             echo "nothing";//输出nothing

             break;

     }

     echo "<br>";//switch好像是比if  else运行的速度快。

     //数组

     $a = array(1,2,3);//一位数组

     echo $a[0]."\n".$a[1]."\n".$a[2]."<br>";//数组的键值是从0开始的不是1

     $aa = array(1=>2,2=>3,3=>4);

     echo $aa[1]."\n".$aa[2]."\n".$aa[3];//这样就改变了键值

     //print_r($a);//打印数组常用方法

     echo "<br>";

     $aaa = array("one"=>array("a","b"),"two"=>array("c","d"),"there"=>array("e","f"));

     echo $aaa['one'][1]."\n".$aaa['two'][1];//b d。这就是取得数组中某个固定位置的方法

     echo "<br>";

     //while 循环

     $a = 1;

     while($a<4){

         $a++;

         echo "\n";

         echo $a;//234

     }

     echo "<br>";

     //do while

     $a = 0;

     do{

         $a++;

         echo "\n";

         echo $a;

     }while ($a>4);//1 先执行do有上至下

     echo "<br>";

     //for循环

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

         echo "3次";

     }

     echo "<br>";

      //复杂点的用strlen函数

     $a = "wang";

     for($i=0;$i<strlen($a);$i++){

         echo "\n";

         echo "4ci";

     }

     echo "<br>";

     //foreach循环

     $a = array(1 ,2,3,4,5 );

     foreach ($a as $k=>$v){

         echo $k."=>";

         echo $v;

         echo "\n";

     }

     echo '<form action="test.php" method="post">';

     echo '<input type="text"name="name">';

     echo '<input type="submit" value="submit">';

     echo '</form>';

     //$name = $_POST['name'];

     $name = $_REQUEST['name'];//不论你用哪种方法传参都可以用$_REQUEST接收,但是并不建议使用这种方法,因为他影响执行效率。在博客上看到的具体有多影响不清楚。

     echo $name;//post和get传参的区别。post能传递比较大的数据而get只能专递比较小的。post将不会显示参数get可以显示参数

     echo "<br>";

     //时间戳。终于到这里了。死熊猫问我时间戳是什么。我回答说:自1几年到现在的时间单位好像是毫秒。然后他说,非常好!如果我是面试官很高兴给你刷下去了!死猫,我和他要了半天他的面试题都不给强烈鄙视之!手册上如是写到:时间戳是1970年1月1日到现在的秒数!

     //date函数

     //当前时间.
  date_default_timezone_set("PRC");
echo date("Y-m-d h:i:s");//2014-03-08 05:43:50不知道这个苦比的电脑是怎么回事显示这个结果。。现在正确的时间是01:44 echo "<br>"; echo time("Y-m-d");//1394300809time()函数将给当前时间显示成时间戳格式 echo "<br>"; echo date('Y-m-d h:i:s',"1394300809");//将时间戳转换为时间格式。 //显示明天、明天、下周、下个月的时间 echo "<br>"; echo date('Y-m-d',strtotime('-1 day'));//昨天 echo "<br>"; echo date('Y-m-d',strtotime('+1 day'));//明天 echo "<br>"; echo date('Y-m-d',strtotime('+1 week'));//下周的今天 echo "<br>"; echo date('Y-m-d',strtotime('+1 month'));//下个月。这里充分的说明这是老外开发的。。。 /* include,require,include_once,require_once include 可以没有没有也会继续向下执行 require 必须有没有就会报出一个致命的错误,结束运行 include_onece 顾名思义之引入一次require_once同理 include 'aa.php';这四个东西大多用于引入那些封装的方法。比如数据库的连接的封装方法 */ //大块头。文件的上传。由于大学的时候没有好好学习!导致html基础超差!php和html混写一直是我的痛!这些是照着w3c手册超的^_^ echo '<form action="test.php" method="post" enctype="multipart/form-data">';//enctype是form标签的。表示你在提交表单时要使用那种类型。不懂要去百度。。。 echo '<label for="file">文件名:</label>'; echo '<input type="file" name="file" id="file"/>'."<br>"; echo '<input type="submit" name="submit" value="上传"/>';//在chorm浏览器中汇显示未选择文件和已选择的上传的文件名称。ie浏览器中就不可以。。ie果然坑爹! if(($_FILES["file"]["type"]=="image/gif")||($_FILES["file"]["type"]=="image/jpeg")||($_FILES["file"]["type"]=="image/pjpeg")&&($_FILES["file"]["size"]<200000)){ if (($_FILES["file"]["error"])>0) { echo "错误提示:".$_FILES["file"]["error"]."<br>"; }else{ echo "文件名:".$_FILES["file"]["name"]."<br>"; echo "文件类型:".$_FILES["file"]["type"]."<br/>"; echo "文件大小:".($_FILES["file"]["size"]/1024)."kb<br/>"; echo "储存位置:".$_FILES["file"]["tmp_name"]."<br/>"; if(file_exists("asd/".$_FILES["file"]["name"])){ echo $_FILES["file"]["name"]."文件名存在。"; }else{ move_uploaded_file($_FILES["file"]["tmp_name"],"asd/".$_FILES["file"]["name"]);//这行代码提示错误!但是下面的echo还是出来了!不知道怎么回事!!!现在头晕有时间再改,死猫看到的话测试下,为什么提示错误!谢谢! echo "储存成功!"; } } } else{ echo "无效文件!"; } echo "<br>"; /*cookie session这块好难,我也不会啊。用得太少了。应用的很多但是我用得很少,没法子只能把w3c教程抄写一遍了! cookie常用与识别用户。比如我登陆一个网站,访问不同页面就用到cookie因为他你才不必每访问一个页面就输入一次账号密码。涉及到header信息?这里就更不懂了!死猫教我。我好像写错了,看到session我感觉好像写错了! 创建cookie函数:setcookie(); 语法setcookie(name(cookie名字),value(赋值),expire(过期时间),path(路径),domain(域?不懂!求解释)); setcookie()必须写在html前面: <?php setcookie("panda","badpanda",time()-360000000000000000);你去死吧!哈哈,原来写代码挺好玩的吗! ?> <html> <head>cookie应用</head> <body> <?php if(isset($_COOKIE("panda"))){ echo "去死吧!".$_COOKIE["user"]."<br/>"; }else{ echo"由于未操作时间过久请重新登陆";//这里我想叫他跑到登陆页面,怎么写?
            $url = "xxx";
            echo "< script language='javascript' type='text/javascript'>";
            echo "window.location.href='$url'";  
            echo "< /script>";  
                }

            ?>

        </body>

     </html>







     */













     //php操作mysql增删改查系列!绝对自己写的。哈哈,因为昨天面试就是这个,深受打击故好好写了写。首先在数据库中建立一个表test两个字段一个自增的id一个姓名dos里的就不写了,不是很熟悉~直接用phpmyadmin建了!

     //服务器名

     $mysql_sname = "localhost";

     //用户名

     $mysql_uname = "root";

     //密码

     $mysql_pwd = "";

     //数据库名

     $mysql_dbname = "badpanda";

     //连接数据库

     $conn = mysql_connect($mysql_sname,$mysql_uname,$mysql_pwd) or die("数据库连接失败!");

     //选择操作的库

     mysql_select_db($mysql_dbname,$conn);
   //设置编码格式
   mysql_query("SET NAMES UTF-8");
//插入数据 $sql_i = "insert into test values('','熊猫')";//我刚才插入数据库之后成为了乱码(已解决) mysql_query($sql_i); //查询显示数据 $sql_s = "select * from test"; $result = mysql_query($sql_s); //提取并显示数据 while ($row = mysql_fetch_row($result)) { echo "<br>"; for($i=0;$i<count($row);$i++){ echo $row[$i]; } } //只显示第一条数据 /*$row = mysql_fetch_row($result); print_r($row);*/ //删除 $sql_d = "delete from test where id=1"; mysql_query($sql_d); //更新 $sql_u = "update test set name = 'fuck' where id=2"; mysql_query($sql_u); mysql_close($conn); /* 自己工作这几个月接触到的个人认为比较复杂的sql。方正当时自己是不会写。。由此可见自己是有多渣难怪能猫老是嘲讽我。。 select * from tt a where 2>=(select count(*) from tt where a.title=title); select userid,group_concat( title),group_concat(distinct oid) from `djs_shops_products` group by userid; left join 还是死猫告诉我的。。跟你混学到不少知识。据说这个效率高? */ //php与xml //php与ajax ?>

 

你可能感兴趣的:(php基础)