自己一晚上总结的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++;//
echo "\n";
echo ++$a;//4 这里可以看出++$a 和$a++的区别。$a++先赋值给$a.++$a先加在赋值
//--那么同理
echo "<br>";
$a = 2;
echo $a--;//
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>";//
///=
$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;//
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;//
}
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基础知识!好累。好充实。的更多相关文章
- android、IOS和手机基础知识
一.手机基础知识 1.固件.刷固件.固件版本 固件是指固化的软件,英文为firmware,它是把某个系统程序写入到特定的硬件系统中的flashROM.手机固件相当于手机的系统,刷新固件就相当于刷系统. ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备
相信很多人或多或少听说了微信公众平台的火热.但是开发还是有一点门槛,鉴于挺多朋友问我怎么开发,问多了,自己平时也进行以下总结.所以下面给大家分享一下我的经验: 微信公众号是什么? 官网的介绍:再小的个 ...
- 【RAC】RAC相关基础知识
[RAC]RAC相关基础知识 1.CRS简介 从Oracle 10G开始,oracle引进一套完整的集群管理解决方案—-Cluster-Ready Services,它包括集群连通性.消息和锁. ...
- 敏捷测试(6)--基于story的敏捷基础知识
基于story的敏捷基础知识----需求管理(三) (3)每日站会 站会的目的有三个: (1)周知进度 仅从用户故事和任务的层面周知进度,任务进度只有两种状态:完成或未完成(完成百分比). (2)周知 ...
- 16第一章 ASP.Net编程基础知识
第一章 ASP.Net编程基础知识 第一章 ASP.Net编程基础知识 本章首先介绍用ASP.Net技术编制服务器端动态网页所需的网络和HTML标记语言方面的有关知识.然后 ...
- 小范笔记:ASP.NET Core API 基础知识与Axios前端提交数据
跟同事合作前后端分离项目,自己对 WebApi 的很多知识不够全,虽说不必要学全栈,可是也要了解基础知识,才能合理设计接口.API,方便与前端交接. 晚上回到宿舍后,对 WebApi 的知识查漏补缺, ...
- 初识Java Java基础知识
今天给大家带来的是初级Java基础部分的知识:包括初识Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!!!内容.步骤超详细,附有各种案例的源代码(可以直接 ...
- PHP语言基础知识
目录 前言 第一章 PHP语言学习介绍 1.1 PHP部署安装环境 1.2 PHP代码工具选择 第二章 PHP代码基本语法 2.1 PHP函数知识介绍 2.2 PHP常量变量介绍 2.2.1 PHP变 ...
随机推荐
- 动态代理实现AOP【转】
http://blog.csdn.net/beijiguangyong/article/details/8624016 根据前面介绍的Proxy和InvocationHandler,实在很难看出这种动 ...
- jxl的API
jxl的API 使用Windows操作系统的朋友对Excel(电子表格)一定不会陌生,但是要使用Java语言来操纵Excel文件并不是一件容易的事.在Web应用日益盛行的今天,通过Web来操作Exce ...
- 《Code Complete》ch.29 集成
WHAT? 集成是这样一种软件开发行为:将一些独立的软件组合为一个完整的系统. WHY? 更容易诊断缺陷 尽早获得一个可工作的产品 更好的顾客关系 增强士气 更可靠地估计进度表 更准确的现状报告 HO ...
- HDU 4738 Caocao's Bridges
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 关于 C/C++ 的文章
关于 C/C++ 的文章,以前写的博客在百度,百度关了,只能一个一个复制了,百度太.....
- rlwrap(在sqlplus下使用上下键)
一:安装readline OS的安装光盘里提供了readline包. # RHEL 4 [root@oracle11g ~]# rpm -Uvh readline* error: Failed dep ...
- appium的xpath定位
做自动化,元素定位是我们遇到的第一个困难.总是会有各种各样的问题,导致我们定位不到元素.前面一篇博客也写了元素定位的几种方法,今天主要分享一下xpath的定位方法. 这里我们仍然拿计算器举例. 比如我 ...
- UDKtoUE4Tool-UDKUE3资源移植UE4工具
UDKtoUE4Tool UDKtoUE4Tool 是一个把UE3/UDK资源包(T3D格式)转换成UE4(T3D格式)的工具.作者Matt3D使用C#实现,未来考虑发布到Unreal Marketp ...
- MXNet官网案例分析--Train MLP on MNIST
本文是MXNet的官网案例: Train MLP on MNIST. MXNet所有的模块如下图所示: 第一步: 准备数据 从下面程序可以看出,MXNet里面的数据是一个4维NDArray. impo ...
- bzoj1433: [ZJOI2009]假期的宿舍
1433: [ZJOI2009]假期的宿舍 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2286 Solved: 969[Submit][Stat ...