一篇不错的PHP基础学习笔记


Posted in PHP onMarch 18, 2007

1、  PHP片段四种表示形式。
标准tags:<?php           ?>
short tags:<?              ?> 需要在php.ini中设置short _open_tag=on,默认是on
asp tags: <%             %>需要在php.ini中设置asp_tags=on,默认是off
script tags:<script language=”php”></script>
2、  PHP变量及数据类型
1)        $variable  ,变量以字母、_开始,不能有空格
2)        赋值$variable=value;
3)        弱类型,直接赋值,不需要显示声明数据类型
4)        基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组)
5)        特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量)
3、  操作符
1)        赋值操作符:=
2)        算术操作符:+,-,*,/,%(取模)
3)        连接操作符:. ,无论操作数是什么,都当成String,结果返回String
4)        Combined Assignment Operators合计赋值操作符:+=,*=,/=,-=,%=,.=
5)        Automatically Incrementing and Decrementing自动增减操作符:
(1)$variable+=1 <=>$variable++;$variable-=1 <=>$variable-,跟c语言一样,先做其他操作,后++或-
(2)++$variable,-$variable,先++或-,再做其他操作
6)        比较操作符:= =(左边等于右边),!=(左边不等于右边),= = =(左边等于右边,且数据类型相同),>=,>,<,<=
7)        逻辑操作符:|| ó or,&&óand,xor(当左右两边有且只有一个是true,返回true),!
4、  注释:
单行注释:// ,#
多行注释:/*  */
5、  每个语句以;号结尾,与java相同
6、  定义常量:define(“CONSTANS_NAME”,value)
7、  打印语句:print,与c语言相同
8、  流程控制语句
1)        if语句:
(1)if(expression)
{
//code to excute if expression evaluates to true
}
(2)if(expression)
{
}
else
{
}
(3)if(expression1)
{
}
elseif(expression2)
{
}
else
{
}
2)        swich语句
switch ( expression )
{
case result
// execute this if expression results in result1
break;
case result
// execute this if expression results in result2
break;
default:
// execute this if no break statement
// has been encountered hitherto
}
3)        ?操作符:
( expression )?returned_if_expression_is_true:returned_if_expression_is_false;
4)        while语句:
(1) while ( expression ) 
{
              // do something
}
(2)do
{
// code to be executed
} while ( expression );
5)        for语句:
for ( initialization expression; test expression; modification expression ) {
// code to be executed
}
6)        break;continue
9、  编写函数
1)        定义函数:
function function_name($argument1,$argument2,……) //形参
{
//function code here;
}
2)        函数调用
function_name($argument1,$argument2,……); //形参
3)        动态函数调用(Dynamic Function Calls):
<html>
<head>
<title>Listing 6.5</title>
</head>
<body>
<?php
function sayHello() {   //定义函数sayHello
print "hello<br>";
}
$function_holder = "sayHello";  //将函数名赋值给变量$function_holder
$function_holder();  //变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello
?>
</body>
</html>
4)        变量作用域:
全局变量:
<html>
<head>
<title>Listing 6.8</title>
</head>
<body>
<?php
$life=42;
function meaningOfLife() {
global $life;
/*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/
print "The meaning of life is $life<br>";
}
meaningOfLife();
?>
</body>
</html>
5)        使用static
<html>
<head>
<title>Listing 6.10</title>
</head>
<body>
<?php
function numberedHeading( $txt ) {
static $num_of_calls = 0;
$num_of_calls++;
print "<h1>$num_of_calls. $txt</h1>";
}
numberedHeading("Widgets");  //第一次调用时,打印$num_of_calls值为1
print("We build a fine range of widgets<p>");
numberedHeading("Doodads");  /*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/
print("Finest in the world<p>");
?>
</body>
</html>
6)        传值(value)和传址(reference):
传值:function function_name($argument)
<html>
<head>
<title>Listing 6.13</title>
</head>
<body>
<?php
function addFive( $num ) {
$num += 5;
}
$orignum = 10;
addFive( &$orignum );
print( $orignum );
?>
</body>
</html>
结果:10
传址:funciton function_name(&$argument)
<html>
<head>
<title>Listing 6.14</title>
</head>
<body>
<?php
function addFive( &$num ) {
$num += 5;  /*传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值*/
}
$orignum = 10;
addFive( $orignum );
print( $orignum );
?>
</body>
</html>
结果:15
7)        创建匿名函数:create_function(‘string1','string2'); create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体
<html>
<head>
<title>Listing 6.15</title>
</head>
<body>
<?php
$my_anon = create_function( '$a, $b', 'return $a+$b;' );
print $my_anon( 3, 9 );
// prints 12
?>
</body>
</html>
8)        判断函数是否存在:function_exists(function_name),参数为函数名
10、              用PHP连接MySQL
1)        连接:&conn=mysql_connect("localhost", "joeuser", "somepass");
2)        关闭连接:mysql_close($conn);
3) 数据库与连接建立联系:mysql_select_db(database name, connection index);
4) 将SQL语句给MySQL执行:$result = mysql_query($sql, $conn); //增删改查都是这句
5) 检索数据:返回记录数:$number_of_rows = mysql_num_rows($result);
将记录放入数组:$newArray = mysql_fetch_array($result);
             例子:
   <?php
   // open the connection
   $conn = mysql_connect("localhost", "joeuser", "somepass");
   // pick the database to use
   mysql_select_db("testDB",$conn);
   // create the SQL statement
   $sql = "SELECT * FROM testTable";
   // execute the SQL statement
   $result = mysql_query($sql, $conn) or die(mysql_error());
  //go through each row in the result set and display data
  while ($newArray = mysql_fetch_array($result)) {
      // give a name to the fields
      $id = $newArray['id'];
      $testField = $newArray['testField'];
      //echo the results onscreen
      echo "The ID is $id and the text is $testField <br>";
  }
  ?>
11、              接受表单元素:$_POST[表单元素名],
如<input type=text  name=user>ó$_POST[user]
接受url中queryString中值(GET方式):$_GET[queryString]
12、转向其他页面:header("Location: http://www.samspublishing.com");
13、字符串操作:
1)explode(“-”,str)óJava中的splite
2)str_replace($str1,$str2,$str3) =>$str1要查找的字符串,$str2用来替换的字符串,$str3从这个字符串开始查找替换
3)substr_replace:
14、session:
1)打开session:session_start(); //也可以在php.ini设置session_auto_start=1,不必再每个script都写这句,但是默认为0,则必须要写。
2)给session赋值:$_SESSION[session_variable_name]=$variable;
3)访问session:$variable =$_SESSION[session_variable_name];
4)销毁session:session_destroy();
15、显示分类的完整例子:
<?php
//connect to database
$conn = mysql_connect("localhost", "joeuser", "somepass")
or die(mysql_error());
mysql_select_db("testDB",$conn) or die(mysql_error());
$display_block = "<h1>My Categories</h1>
<P>Select a category to see its items.</p>";
//show categories first
$get_cats = "select id, cat_title, cat_desc from
store_categories order by cat_title";
$get_cats_res = mysql_query($get_cats) or die(mysql_error());
if (mysql_num_rows($get_cats_res) < 1) { //如果返回记录行数小于1,则说明没有分类
$display_block = "<P><em>Sorry, no categories to browse.</em></p>";
} else {
while ($cats = mysql_fetch_array($get_cats_res)) { //将记录放入变量$cats中
$cat_id = $cats[id];
$cat_title = strtoupper(stripslashes($cats[cat_title]));
$cat_desc = stripslashes($cats[cat_desc]);
$display_block .= "<p><strong><a
href="$_SERVER[PHP_SELF][U1] ?cat_id=$cat_id">$cat_title</a></strong>//点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目
<br>$cat_desc</p>";
if ($_GET[cat_id] == $cat_id) { //选择一个分类,看下面的条目
//get items
$get_items = "select id, item_title, item_price
from store_items where cat_id = $cat_id
order by item_title";
$get_items_res = mysql_query($get_items) or die(mysql_error());
if (mysql_num_rows($get_items_res) < 1) {
$display_block = "<P><em>Sorry, no items in
this category.</em></p>";
} else {
$display_block .= "<ul>";
while ($items = mysql_fetch_array($get_items_res)) {
$item_id = $items[id];
$item_title = stripslashes($items[item_title]);
$item_price = $items[item_price];
$display_block .= "<li><a
href="showitem.php?item_id=$item_id">$item_title</a>
</strong> ($$item_price)";
[U2]                   }
$display_block .= "</ul>";
}
}
}
}
?>
<HTML>
<HEAD>
<TITLE>My Categories</TITLE>
</HEAD>
<BODY>
<? print $display_block; ?>
</BODY>
</HTML>
16、PHP连接Access:
<?  
$dbc=new com("adodb.connection");  
$dbc->open("driver=microsoft access driver (*.mdb);dbq=c:member.mdb");  
$rs=$dbc->execute("select * from tablename");  
$i=0;  
while (!$rs->eof){  
$i+=1  
$fld0=$rs->fields["UserName"];  
$fld0=$rs->fields["Password"]; 
....  
echo "$fld0->value $fld1->value ....";  
$rs->movenext();  
}  
$rs->close();  
?> 

PHP 相关文章推荐
第十五节--Zend引擎的发展
Nov 16 PHP
初次接触php抽象工厂模式(Elgg)
Mar 21 PHP
解析PHP中ob_start()函数的用法
Jun 24 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
php基于表单密码验证与HTTP验证用法实例
Jan 06 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
php通过curl模拟登陆DZ论坛
May 11 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
关于Yii中模型场景的一些简单介绍
Sep 22 PHP
PHP sdk实现在线打包代码示例
Dec 09 PHP
PHP_MySQL教程-第一天
Mar 18 #PHP
PHP 中dirname(_file_)讲解
Mar 18 #PHP
PHP session常见问题集锦及解决办法总结
Mar 18 #PHP
用PHP生成html分页列表的代码
Mar 18 #PHP
用PHP生成静态HTML速度快类库
Mar 18 #PHP
PHP实现采集程序原理和简单示例代码
Mar 18 #PHP
Dedecms V3.1 生成HTML速度的优化办法
Mar 18 #PHP
You might like
php一维二维数组键排序方法实例总结
2014/11/13 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
JS中Safari浏览器中的Date
2017/07/17 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
Python 转移文件至云对象存储的方法
2021/02/07 Python
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
美国瑜伽品牌:Gaiam
2017/10/31 全球购物
优秀村官事迹材料
2014/01/10 职场文书
警示教育活动总结
2014/05/05 职场文书
法制宣传月活动方案
2014/05/11 职场文书
法律专业求职信
2014/05/24 职场文书